182. Закрытый ключ

Не решаласьЛёгкая

Во всех крупных IT-компаниях немалое внимание уделяется вопросам информационной безопасности, и Яндекс не является исключением.

Дима и Егор разрабатывают новый сервис YD (Yandex Dorogi) и в данный момент занимаются аудитом его безопасности. Для шифрования пользовательских данных в YD используется алгоритм шифрования с открытым ключом YS (Yandex Shifrovatel).

Схема работы алгоритма YS такова: для каждого сервиса генерируется закрытый ключ ($p, q$), где $p$ и $q$ — натуральные числа. По закрытому ключу ($p, q$) генерируется открытый ключ (НОД($p, q$), НОК($p, q$)), который доступен всем пользователям. Если злоумышленник сможет по открытому ключу получить закрытый ключ, то он получит доступ ко всем данным YD и нанесёт сервису непоправимый вред. Конечно же, Егор и Дима не хотят этого допустить, поэтому они хотят сделать так, чтобы злоумышленнику пришлось перебрать очень много вариантов открытого ключа, прежде чем он сможет его угадать.

Дима уже сгенерировал закрытый ключ для YD и получил на его основе открытый ключ ($x, y$). Егору сразу же стало интересно, сколько вариантов закрытого ключа придётся перебрать злоумышленнику для взлома YD в худшем случае, иными словами, сколько существует закрытых ключей ($p, q$) таких, что открытым ключом для них является ($x, y$). К сожалению, у Егора есть много других задач, очень важных для запуска YD, поэтому он просит вас вычислить это количество за него.

Формат ввода

В первой строке содержатся два целых числа $x$ и $y$ ($1 \leq x \leq y \leq 10^{12}$) — описание открытого ключа.

Формат вывода

Выведите одно целое число — количество закрытых ключей, для которых данный ключ является открытым.

Примечание

В первом примере существует два закрытых ключа, для которых ($5, 10$) является открытым ключом: ($5, 10$) и ($10, 5$).

Во втором примере Дима ошибся, потому что ни один закрытый ключ не порождает открытый ключ ($10, 11$).

В третьем примере подходящими закрытыми ключами являются ($527, 9486$), ($1054, 4743$), ($4743, 1054$), ($9486, 527$).

НОД (наибольшим общим делителем) двух натуральных чисел $p$ и $q$ называется наибольшее число $k$ такое, что $p$ делится на $k$ и $q$ делится на $k$. Например, НОД($6, 15$) равен $3$, а НОД($16, 8$) равен $8$.

НОК (наименьшим общим кратным) двух натуральных чисел $p$ и $q$ называется наименьшее число $k$ такое, что $k$ делится на $p$ и $k$ делится на $q$. Например, НОК($2, 3$) равен $6$, а НОК($10, 20$) равен 20.

Ограничения

Ограничение времени

2 с

Ограничение памяти

256 МБ

Пример 1

Ввод
5 10
Вывод
2

Пример 2

Ввод
10 11
Вывод
0

Пример 3

Ввод
527 9486
Вывод
4

Теги

Нужно войти, чтобы отправить решение.Войти