printОбластная олимпиада школьников по информатике (командные соревнования)

print6. Олимпиада-2008

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

На соревнования по дзюдо в Пекин прибыло `N` спортсменов разных стран, выступающих в некоторой весовой категории. Для выявления среди них чемпиона используется олимпийская система ("плей-офф"), в которой участник выбывает из соревнования после одного поражения. Олимпийская система наиболее предпочтительна для числа участников, являющегося степенью двух: 2, 4, 8, 16, 32,…. Все участники выписываются в столбик по номерам и на первом этапе проводятся схватки между первым и вторым, третьим и четвертым и т.д. Во второй этап выходят только победители первого этапа, а проигравшие выбывают из дальнейшей борьбы за первое место. Для победителей первого этапа процедура повторяется и так продолжается до тех пор, пока не останется один игрок, выигравший все встречи. Если число участников не является степенью двойки, то для некоторых участников проводится дополнительный этап, после которого число участников сокращается до нужного количества. Например, для 5 участников сначала проводится одна дополнительная схватка, после которой остается 4 участника, затем две полуфинальные и финальная схватка, в которой выявляется чемпион. Всего нужно провести 4 схватки.
Напишите программу, которая вычислит число схваток, которые необходимо провести для выявления чемпиона среди `N` участников.
В первой строке ввода содержится одно целое число `N` (`1\ ≤\ N\ ≤\ 100`) – количество участников.
Вывести одно целое число – количество схваток для выявления чемпиона.

Пример ввода

5

Вывод для примера

4
loading