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

Задача . E. Васина функция


Вася изучает теорию чисел. Он определил функцию f(a, b) следующим образом:

  • f(a, 0) = 0;
  • f(a, b) = 1 + f(a, b - gcd(a, b)), где gcd(a, b) это наибольший общий делитель a и b.

У Васи есть два числа x и y, и он хочет вычислить f(x, y). Он хотел сделать это сам, но его способ может занять слишком много времени. Так что он просит вас написать программу, с помощью которой можно посчитать эту функцию быстро.

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

Первая и единственная строка содержит два целых числа x и y (1 ≤ x, y ≤ 1012).

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

Выведите f(x, y).


Примеры
Входные данныеВыходные данные
1 3 5
3
2 6 3
1

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

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