|
Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб.
Легендарный учитель математики Юрий Петрович придумал забавную игру с
числами. А именно, взяв произвольное целое число, он переводит его в
двоичную систему счисления, получая некоторую последовательность из нулей
и единиц, начинающуюся с единицы. (Например, десятичное число 1910 =
1*24+0*23+0*22+1*21+1*20
в двоичной системе запишется как 100112.) Затем
учитель начинает сдвигать цифры полученного двоичного числа по циклу
(так, что последняя цифра становится первой, а все остальные сдвигаются
на одну позицию вправо), выписывая образующиеся при этом последовательности
из нулей и единиц в столбик - он подметил, что независимо от выбора
исходного числа получающиеся последовательности начинают с некоторого
момента повторяться. И, наконец, Юрий Петрович отыскивает максимальное из
выписанных чисел и переводит его обратно в десятичную систему счисления,
считая это число результатом проделанных манипуляций. Так, для числа 19
список последовательностей будет таким:
10011
11001
11100
01110
00111
10011
...
и результатом игры, следовательно, окажется число
1*24+1*23+1*22+0*21+0*20 = 28.
Поскольку придуманная игра с числами все больше занимает воображение
учителя, отвлекая тем самым его от работы с ну очень одаренными школьниками,
Вас просят написать программу, которая бы помогла Юрию Петровичу получать
результат игры без утомительных ручных вычислений.
Ввод
Ввод содержит одно целое число N (0 ≤ N ≤ 32767).
Вывод
Ваша программа должна вывести одно целое число, равное результату игры.
Для отправки решений необходимо выполнить вход.
|