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

Задача . B. Модулярные уравнения


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

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

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

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

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

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

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

Примечание

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


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

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

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