5379 - 有趣的数字和

题目描述

如果一个正整数的二进制表示包含奇数个 1,那么小 A 就会认为这个正整数是有趣的。

例如,7 的二进制表示为 (111)_₂,包含 1 的个数为 3 个,所以 7 是有趣的。但是 9 = (1001)_₂ 包含 21,所以 9 不是有趣的。

给定正整数 l,r,请你统计满足 l \le n \le r 的有趣的整数 n 之和。

输入

一行,包含两个正整数 lr,表示给定的正整数区间。

输出

一行,包含一个正整数,表示在 l,r 之间所有有趣的整数之和。

样例

输入

3 8

输出

19

输入

65 36248

输出

328505490
说明

数据范围

对于 40 \% 的测试点,保证:1 \le l \le r \le 10^4

对于 另外 30 \% 的测试点,保证:l=1r=2^k −1 ,其中 k 是大于 1 的正整数。

对于 所有测试点,保证:1 \le l \le r \le 10^9

提示

由于本题的数据范围较大,整数类型请使 long long 。

来源

GESP 2025年09月认证 C++5级真题

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 9
通过人数 2
金币数量 1 枚
难度 基础


上一题 下一题