Олимпиадный тренинг

Задача . B. Друзья и подарки


У вас есть два друга. Вы хотите подарить каждому другу некоторое количество целых положительных чисел. Первому другу вы хотите подарить cnt1 чисел, второму — cnt2 чисел. Более того, вы хотите, чтобы все подаренные числа были различными, в частности, ни одно число не должно достаться обоим друзьям.

Кроме этого, первый друг не любит числа, которые делятся без остатка на простое число x. Второй друг не любит числа, которые делятся без остатка на простое число y. Конечно, вы не будете дарить друзьям числа, которые они не любят.

Ваша задача — найти такое минимальное число v, такое что из набора чисел 1, 2, ..., v можно составить подарки друзьям. Естественно, некоторые числа можно не дарить никому из них.

Положительное целое число, большее единицы, называется простым, если оно не делится нацело ни на одно положительное целое число кроме единицы и себя самого.

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

В первой строке записано четыре целых положительных числа cnt1, cnt2, x, y (1 ≤ cnt1, cnt2 < 109; cnt1 + cnt2 ≤ 109; 2 ≤ x < y ≤ 3·104) — описанные в условии числа. Гарантируется, что числа x, y являются простыми числами.

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

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

Примечание

В первом примере первому другу вы подарите набор чисел {1, 3, 5}, а второму — набор {2}. Обратите внимание, что если мы подарили первому другу набор {1, 3, 5}, то мы не можем дарить второму другу ни одно из чисел 1, 3, 5.

Во втором примере первому другу вы подарите набор из чисел {3}, а второму набор чисел {1, 2, 4}. Таким образом, ответ на задачу 4.


Примеры
Входные данныеВыходные данные
1 3 1 2 3
5
2 1 3 2 3
4

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя