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.