#P005916. 二进制改造

二进制改造

题目描述

AA 最近迷上了二进制,他发现二进制有很多神奇的性质。今天他想研究一下二进制中 11 的个数的问题。

给定一个正整数 NN,请输出 1N1 \sim N 的所有正整数的二进制表示中 11 的个数之和。

例如,N=5N = 5 时:

  • 11 的二进制是 1,有 1111
  • 22 的二进制是 10,有 1111
  • 33 的二进制是 11,有 2211
  • 44 的二进制是 100,有 1111
  • 55 的二进制是 101,有 2211

所以答案是 1+1+2+1+2=71 + 1 + 2 + 1 + 2 = 7

输入格式

输入一个正整数 NN

输出格式

输出一个整数,表示 1N1 \sim N 的所有正整数的二进制表示中 11 的个数之和。

样例

输入

5

输出

7

数据范围

对于 30%30\% 的数据,满足 1N1001 \le N \le 100

对于 60%60\% 的数据,满足 1N1061 \le N \le 10^6

对于 100%100\% 的数据,满足 1N10151 \le N \le 10^{15}