0376. Последовательность доктора Монта
Имя входного файла: | sequence.in |
Имя выходного файла: | sequence.out |
Ограничение по времени: | 2 s |
Ограничение по памяти: | 256 megabytes |
\epigraph{Михаил Афанасьевич Монт – ведущий специалист в области комбинаторных последовательностей, доктор физико-математических наук}
Доктор Монт совершил научный прорыв в области комбинаторных последовательностей! Открытая им последовательность поможет приблизиться
к решению задачи об оптимальной нумерации произвольных объектов, более известной как задача <<О n слонах>>.
Благодаря этому открытию Михаил Афанасьевич, возможно, получит Елефантовскую премию – самую престижную премию в области
комбинаторных последовательностей.
Однако, М. А. Монту нужна ваша помощь – для более детального изучения последовательности
ему нужно получить n--ый элемент этой последовательности, при этом n может быть очень велико!
Как? Вы не знаете формулу этой последовательности? Вы что, с Земли упали? Ладно, уговорили, мы напомним вам её определение.
Последовательность a называется последовательностью М. А. Монта, если выполняется следующее:
- a1 = 1;
- Последовательность a – строго возрастающая, то есть для любого n > 1 выполняется an > an - 1;
- Для любого n > 1, an – наименьшее положительное число такое, что aan = n.
Спешите! У вас есть всего несколько часов для того, чтобы помочь доктору Монту!
Формат входного файла
В единственной строке входного файла задано натуральное число n (1 ≤ n ≤ 109) – порядковый номер элемента в последовательности, который требуется Михаилу Афанасьевичу Монту.
Формат выходного файла
В единственной строке выходного файла выведите an.
Пример:
sequence.in | sequence.out |
---|---|
1 | 1 |
Источник: Открытый весенний чемпионат ПетрГУ по программированию, 20 апреля 2014
Обсудить
Отправить решение
Версия для печати