Ларёк и две куклы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В поздний бледный вечер девочка Уэнсдей с последней парты прогуливалась по кладбищенской аллее и наткнулась на странный ларёк, загадочный хозяин которого сделал ей странное предложение. Как известно, Уэнсдей всегда имеет при себе две куклы Вуду: деревянную и тряпичную. Деревянная заключает в себе $$$a$$$ проклятий, тряпичная — $$$b$$$ проклятий. Владелец ларька способен с помощью редкой тёмной магии одновременно изменить куклы следующим образом:

- количество проклятий в деревянной кукле изменяется с $$$x$$$ на $$$(x + c) \bmod m$$$;
- количество проклятий в тряпичной кукле изменяется с $$$y$$$ на $$$(y - c) \bmod m$$$.

Уэнсдей может попросить применить заклинание любое число раз (включая ноль), но только одновременно к обеим куклам.

Естественно, Уэнсдей хочется, чтобы её куклы содержали как можно больше проклятий, но она опасается, что в предложении хозяина ларька кроется подвох, а потому ей хочется узнать: какую максимальную итоговую сумму проклятий в двух куклах она сможет получить, если примет его предложение?

Помогите Уэнсдей посчитать эту величину, прежде чем ларёк закроется на ночь.

Входные данные

В первой и единственной строке содержится 4 целых числа $$$a$$$, $$$b$$$, $$$c$$$, $$$m$$$ — первые два числа обозначают изначальное количество проклятий в деревянной и тряпичной куклах соответственно, следующие два числа — параметры, по которым по которым изменяются куклы ($$$0 \le a, b, c < m \le 10^9$$$).

Выходные данные

Выведите единственное число — ответ на задачу.

Пример

Входные данные

    30 47 1 80

Выходные данные

    157