如果一个正整数的二进制表示中,000 的数目不小于 111 的数目,那么它就被称为「圆数」。
例如,999 的二进制表示为 100110011001,其中有 222 个 000 与 222 个 111。因此,999 是一个「圆数」。
请你计算,区间 [l,r][l,r][l,r] 中有多少个「圆数」。
一行,两个整数 l,rl,rl,r。
一行,一个整数,表示区间 [l,r][l,r][l,r] 中「圆数」的个数。
2 12
6
【数据范围】
对于 100%100\%100% 的数据,1≤l,r≤2×1091\le l,r\le 2\times 10^91≤l,r≤2×109。
【样例说明】
区间 [2,12][2,12][2,12] 中共有 666 个「圆数」,分别为 2,4,8,9,10,122,4,8,9,10,122,4,8,9,10,12。
USACO