eolymp
bolt
Try our new interface for solving problems
Problems

И снова цепочка

И снова цепочка

Рассмотрим цепочку, состоящую из \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 Вывести одно целое число - найденное минимальное количество колец.
Time limit 1 second
Memory limit 64 MiB
Input example #1
21
Output example #1
2
Author Andrey Stasuk
Source 2007 XX All-Ukrainian Informatics Olympiad, Kremenchuk, April 10 - 16, Round 1