Степінь#195

Степінь

1 секунда
64 мегабайти
Складна

Інтерпретатор мови програмування Base_ABC може виконувати присвоєння вигляду A := B * C (де A, B і C — імена змінних), але не може безпосередньо виконувати піднесення до натурального степеня. Тому обчислення виразів типу A^N слід замінити послідовністю команд множення.

Наприклад, команду X := A^5 можна записати як послідовність із трьох присвоєнь, кожне з яких містить одне множення:

R_1 := A * A
R_2 := A * R_1
X := R_1 * R_2

За заданим визначте мінімальну кількість команд присвоєння з одним множенням для обчислення A^N.

Вхідні дані

Вхідні дані містять одне число (2 \leq N \leq 2000).

Вихідні дані

Виведіть одне число — відповідь до задачі.

Приклади

Приклад 1

Loading
Loading