4649 - 幸运数字

题目描述

如果一个正整数的二进制表示中,每个比特(01)的左边或右边都至少有一个相同的比特,Dr. X 就认为它是一个“幸运数字”。例如:

  • (1)_2=(1)_{10} 有落单的 1,它不是幸运数字。

  • (110111)_2=(55)_{10} 有落单的 0,它不是幸运数字。

  • (111110011)_2=(499)_{10} 是幸运数字。

  • (110011001100)_2=(3276)_{10} 是幸运数字。

对于给定的 ab,Dr. X 希望你求出 a, a + 1, a + 2, \dots, b 中幸运数字的数量。

输入

输入空格分隔的整数 ab

输出

输出一行一个整数,代表 ab 之间幸运数字的数量。

样例

输入

1 100

输出

14

输入

4096 65535

输出

1364
说明

数据范围与提示

对于 100\% 的数据,满足 1 \leq a \leq b \leq 10^6

>本题原始满分为 15\text{pts}

来源

2024年江苏省"信息与未来"小学生编程

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 10
通过人数 8
金币数量 0 枚
难度 入门


上一题 下一题