Карточный фокус

시간 제한2초메모리 제한1024 MB

요약
정해진 m개의 더미로 나눠 다시 쌓는 섞기를 k번 반복하면 어떤 카드를 골라도 항상 맨 위에 오게 되는 최소 k를 구한다. n과 m은 10^9까지 주어진다.
난이도

어려움10점 중 8점

유형
수학, 정수론, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Джим работает престидижитатором. Иначе говоря, он фокусник. Основная специализация Джима --- карточные фокусы.

Недавно Джим придумал новый карточный фокус. Изначально для фокуса берется колода из nn различных карт. После этого зритель выбирает одну карту из колоды, запоминает ее, возвращает в колоду и тщательно перемешивает карты.

И тут начинается магическое действие. Джим берет перемешанную колоду карт так, чтобы карты находились рубашкой вверх. Затем он раскладывает карты из колоды по mm кучкам, причем верхняя карта колоды попадает в первую кучку, вторая сверху --- во вторую, m+1m + 1-ая карта, если такая есть в колоде, попадает снова в первую кучку, m+2m + 2-ая во вторую и т.д. После этого Джим спрашивает зрителя, в какой из кучек находится загаданная зрителем карта. Пусть карта попала в ii-ую кучку. После этого Джим собирает кучки карт обратно в одну колоду. При этом ii-ая кучка оказывается сверху новой колоды, под ней i+1i + 1-ая и так до nn-ой, после которой следует первая кучка и так до i−1i - 1-ой. При этом порядок карт в каждой кучке сохраняется, то есть первая карта, положенная в кучку оказывается верхней в кучке, вторая --- под ней. Повторяя данные операции несколько раз, через некоторое время Джим говорит, что путем магии и волшебства добился того, чтобы загаданная карта оказалась верхней в колоде. И карта действительно оказывается верхней.

Рассмотрим пример такого фокуса. Пусть n=6n = 6 и карты обозначаются числами от 11 до 66, а m=2m = 2. Пусть зритель загадал карту 11, а помешанная колода имеет вид (4,2,1,5,6,3)(4, 2, 1, 5, 6, 3). При первом раскладывании по кучкам получаются кучки (4,1,6)(4, 1, 6) и (2,5,3)(2, 5, 3), после чего Джим собирает из этих кучек колоду (4,1,6,2,5,3)(4, 1, 6, 2, 5, 3). На следующем шаге кучки (4,6,5)(4, 6, 5) и (1,2,3)(1, 2, 3), после этого колода имеет вид (1,2,3,4,6,5)(1, 2, 3, 4, 6, 5). И с помощью магии загаданная карта оказалась верхней!

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

Напишите программу, которая по данным nn и mm найдет минимальное kk.

입력

В первой строке входного файла два целых числа nn и mm (2≤m≤n≤1092 \le m \le n \le 10^{9}).

출력

В выходной файл выведите единственное число kk --- минимальное число раскладываний, которое необходимо совершить, чтобы загаданная карта точно оказалась сверху колоды.

예제2

  1. 예제 1

    입력
    6 2
    
    예상 출력
    3
    
  2. 예제 2

    입력
    21 3
    
    예상 출력
    3