Карточный фокус
시간 제한2초메모리 제한1024 MB
정해진 m개의 더미로 나눠 다시 쌓는 섞기를 k번 반복하면 어떤 카드를 골라도 항상 맨 위에 오게 되는 최소 k를 구한다. n과 m은 10^9까지 주어진다.
문제
Джим работает престидижитатором. Иначе говоря, он фокусник. Основная специализация Джима --- карточные фокусы.
Недавно Джим придумал новый карточный фокус. Изначально для фокуса берется колода из различных карт. После этого зритель выбирает одну карту из колоды, запоминает ее, возвращает в колоду и тщательно перемешивает карты.
И тут начинается магическое действие. Джим берет перемешанную колоду карт так, чтобы карты находились рубашкой вверх. Затем он раскладывает карты из колоды по кучкам, причем верхняя карта колоды попадает в первую кучку, вторая сверху --- во вторую, -ая карта, если такая есть в колоде, попадает снова в первую кучку, -ая во вторую и т.д. После этого Джим спрашивает зрителя, в какой из кучек находится загаданная зрителем карта. Пусть карта попала в -ую кучку. После этого Джим собирает кучки карт обратно в одну колоду. При этом -ая кучка оказывается сверху новой колоды, под ней -ая и так до -ой, после которой следует первая кучка и так до -ой. При этом порядок карт в каждой кучке сохраняется, то есть первая карта, положенная в кучку оказывается верхней в кучке, вторая --- под ней. Повторяя данные операции несколько раз, через некоторое время Джим говорит, что путем магии и волшебства добился того, чтобы загаданная карта оказалась верхней в колоде. И карта действительно оказывается верхней.
Рассмотрим пример такого фокуса. Пусть и карты обозначаются числами от до , а . Пусть зритель загадал карту , а помешанная колода имеет вид . При первом раскладывании по кучкам получаются кучки и , после чего Джим собирает из этих кучек колоду . На следующем шаге кучки и , после этого колода имеет вид . И с помощью магии загаданная карта оказалась верхней!
От того, какая карта загадана и как перемешаны карты в колоде, зависит сколько раз надо повторить магическое действие, чтобы найти загаданную карту. Однако существует такое минимальное число , что для любого расположения карты в колоде и любой загаданной карты достаточно повторить раскладывания раз, чтобы загаданная карта оказалась верхней.
Напишите программу, которая по данным и найдет минимальное .
입력
В первой строке входного файла два целых числа и ().
출력
В выходной файл выведите единственное число --- минимальное число раскладываний, которое необходимо совершить, чтобы загаданная карта точно оказалась сверху колоды.