3844 - 圆数

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 128 MB

如果一个正整数的二进制表示中,0 的数目不小于 1 的数目,那么它就被称为「圆数」。

例如,9 的二进制表示为 1001,其中有 2021。因此,9 是一个「圆数」。

请你计算,区间 [l,r] 中有多少个「圆数」。

输入

一行,两个整数 l,r

输出

一行,一个整数,表示区间 [l,r] 中「圆数」的个数。

样例

输入

2 12

输出

6

提示

【数据范围】

对于 100\% 的数据,1\le l,r\le 2\times 10^9

【样例说明】

区间 [2,12] 中共有 6 个「圆数」,分别为 2,4,8,9,10,12

来源

USACO