Задачи
И снова цепочка
И снова цепочка
Рассмотрим цепочку, состоящую из \textbf{N }колец. Какое минимальное количество колец необходимо расцепить, чтобы из оставшихся кусков можно было собрать цепочки любой длины от \textbf{1 }до \textbf{N }колец? При создании новых цепочек можно использовать расцепленные кольца.
\includegraphics{https://static.e-olymp.com/content/f2/f2863deb6d07a2bb4e75f40a392dc3572457f3bb.jpg}
Например, при \textbf{N = 21}, достаточно расцепить всего \textbf{2 }кольца таким образом, чтобы получились куски длинной \textbf{3}, \textbf{5 }и \textbf{11}. Два расцепленных кольца считаются кусками единичной длины.
Напишите программу, которая по натуральному числу \textbf{N }-- длине исходной цепочки, находит минимальное количество колец, которые необходимо расцепить для достижения описанной цели.
\InputFile
Одно целое число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{10^9}).
\OutputFile
Вывести одно целое число - найденное минимальное количество колец.
Входные данные #1
21
Выходные данные #1
2