AT_abc400_c [ABC400C] 2^a b^2

Description

A positive integer $ X $ is called a good integer if and only if it satisfies the following condition: - There exists a pair of positive integers $ (a,b) $ such that $ X = 2^a \times b^2 $ . For example, $ 400 $ is a good integer because $ 400 = 2^2 \times 10^2 $ . Given a positive integer $ N $ , find the number of good integers between $ 1 $ and $ N $ , inclusive.

Input Format

The input is given from Standard Input in the following format: > $ N $

Output Format

Print the number of good integers between $ 1 $ and $ N $ , inclusive.

Explanation/Hint

### Sample Explanation 1 There are five good integers between $ 1 $ and $ 20 $ : $ 2 $ , $ 4 $ , $ 8 $ , $ 16 $ , and $ 18 $ . Thus, print $ 5 $ . ### Sample Explanation 3 Note that the input might not fit in a $ 32 $ -bit integer type. ### Constraints - $ 1 \leq N \leq 10^{18} $ - $ N $ is an integer.