问题 5351 --新年算旧账

5351: 新年算旧账★★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 29  解决: 4
[提交][状态][命题人:]

题目描述

2015年已经到了年底.

小严严他最近了解了二进制系统。他注意到,过去的年份在二进制系统中的表示中正好有一个零

201510 = 111110111112

请注意,他不在乎年份在十进制表示中零的个数。

小严严选择了一些年份的区间。他将计算这个区间中所有在二进制表示中正好只有一个零的年份。你能做得更快吗?

输入

输入唯一一行包含两个整数 a 和 b(1 ≤ a ≤ b ≤ 10^18)分别是小严严给出的区间中的第一年和最后一年。

输出

输出一个整数  小严严将在这个区间统计符合条件的年的数。

样例输入
Copy
样例1输入
5 10
样例2输入
2015 2015
样例3输入
100 105
样例4输入
72057594000000000 72057595000000000
样例输出
Copy
样例1输出
2
样例2输出
1
样例3输出
0
样例4输出
26

提示

针对样例1,其中的5和6转为二进制后,满足要求

来源

[提交][状态]