Двойная игра
Возьмите колоду из n уникальных карт. Раздайте всю колоду k игрокам следующим образом: верхнюю карту получает игрок 1, следующую — игрок 2, и так далее, пока игрок k не получит свою карту. Затем снова раздайте карты, начиная с игрока 1, и продолжайте в том же порядке. После раздачи соберите карты обратно: сначала карты игрока 1, затем игрока 2, и так далее, так что карты игрока k окажутся внизу. При этом карты каждого игрока располагаются в обратном порядке — последняя карта, которую они получили, будет сверху, а первая — внизу.
Сколько раз, включая первый, нужно повторить этот процесс, чтобы колода вернулась в исходный порядок?
Входные данные
Входные данные содержат несколько тестов. Каждый тест представлен одной строкой с двумя целыми числами, n и k (1 ≤ n ≤ 800, 1 ≤ k ≤ 800). Входные данные заканчиваются строкой с двумя 0.
Выходные данные
Для каждого теста во входных данных выведите одно целое число, которое указывает количество раздач, необходимых для возвращения колоды в исходный порядок. Выведите каждое число на отдельной строке, без лишних пробелов и пустых строк между ответами. Все возможные входные данные дают ответы, которые поместятся в знаковое 64-битное целое число.