Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P193SUMG - Biến đổi số

Time limit: 0.1s | Memory limit: 64MB

Cho một số nguyên dương x, và nhiệm vụ của ta là biến đổi x về dạng 2m - 1, với m là một số nguyên không âm.

Để thực hiện biến đổi, ta cần thực hiện một dãy thao tác:

• Nếu số thứ tự của thao tác là lẻ, chọn một số nguyên không âm m và biến đổi x thành (x xor 2m - 1).

• Nếu số thứ tự của thao tác là chẵn, biến đổi x thành (x + 1).

Tìm số thao tác nhỏ nhất để hoàn thành yêu cầu.

Input

Dòng đầu tiên chứa một số nguyên dương x duy nhất (1 ≤ x ≤ 106).

Output

In ra một số nguyên duy nhất là số thao tác ít nhất cần dùng.

Example

Input:
39
Output:
4
Input:
1
Output:
0
Input:
7
Output:
0

"Vanessa...?"


Được gửi lên bởi:adm
Ngày:2019-07-27
Thời gian chạy:0.100s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.