B. Модулярные уравнения
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

На прошлой неделе Хамед узнал новый тип уравнения на уроке математики — модулярное уравнение. Определим i по модулю j как остаток от деления i на j и обозначим его как . Модулярное уравнение, как рассказал учитель Хамеда, это уравнение вида , в котором a и b — два неотрицательных целых числа, а x — переменная. Назовем положительное целое число x, для которого , решением нашего уравнения.

Хамед смотрел фильм во время урока и много отвлекался. Он смог понять только определение уравнения.

Ему нужно сделать упражнения по математике, да вот беда — он совершенно не имеет представления, как решать модулярные уравнения. Потому он обратился к вам за помощью. Он рассказал вам всё, что знает о модулярных уравнениях, и попросил написать программу, которая по двум числам a и b, вычисляет количество решений модулярного уравнения .

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

В единственной строке ввода даны два целых числа, a и b (0 ≤ a, b ≤ 109).

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

Если существует бесконечное количество решений данного уравнения, выведите «infinity» (без кавычек). В противном случае, выведите количество решений модулярного уравнения .

Примеры
Входные данные
21 5
Выходные данные
2
Входные данные
9435152 272
Выходные данные
282
Входные данные
10 10
Выходные данные
infinity
Примечание

В первом примере решения модулярного уравнения — 8 и 16, так как