G. Строка прогресса
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Строки прогресса часто используются для отображения текущего состояния работающего процесса. Одним из видов таких строк являются блочные. Блочная строка состоит из $$$n$$$ одинаковых блоков. Для отображения прогресса, доля выполнения которого составляет $$$p$$$ ($$$0 \leq p \leq 1$$$), это число умножается на $$$n$$$, и полученное число округляется к ближайшему целому. Получается число $$$k = round(p \cdot n)$$$. Далее, в строке прогресса отображается $$$k$$$ блоков.

Если процессы работают быстро, то очень редко можно увидеть полностью заполненную строку, поэтому $$$n$$$ можно определить не всегда. Пусть нам удалось посчитать число блоков $$$k_1$$$ для процесса, выполнившего треть работы ($$$p = 1/3$$$), и число $$$k_2$$$ для процесса? отработавшего наполовину ($$$p = 1/2$$$). Определите, какие числа $$$n$$$ подходят под эти условия, или сообщите, что таких чисел нет.

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

Единственная строка содержит два числа $$$k_1$$$ и $$$k_2$$$ ($$$1 \leq k_1 \leq k_2 \leq 10^6$$$), разделенных пробелом.

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

Если решения не существует выведите 0. Если есть подходящие $$$n$$$, то выведите их по возрастанию, в одну строку, разделяя пробелом.

Примеры
Входные данные
3 5
Выходные данные
9 10
Входные данные
3 4
Выходные данные
8
Входные данные
4 5
Выходные данные
0