Строки прогресса часто используются для отображения текущего состояния работающего процесса. Одним из видов таких строк являются блочные. Блочная строка состоит из $$$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