题目描述
对于一个数字x,我们定义fx表示有多少个数字i(0<=i<=x)满足x&i=0。
现在需要计算∑i=ljrjfi。
每一个数据点包含多组测试数据。
输入格式
第一行包含一个数字T,表示数据组数。
接下来T行,i+1行两个数字li,ri,表示每一组测试数据。
输出格式
一共T行,第i行代表每第i组数据的答案。
样例
输入样例
5
1 2
3 5
2 4
4 6
7 8
输出样例
3
7
7
8
9
提示
样例说明
对于最后一组数据:f7=1(即0),f8=8(即0,1,2,3,4,5,6,7),所以它应该输出 9。
数据范围
对于30%的数据,保证:1<=∑i=1n(ri−li)<=106。
对于60%的数据,保证:1<=∑i=1n(ri−li)<=107。
对于100%的数据,保证:1<=T<=104,1<=li<=ri<=2×107。
本题读入量较大,请使用较快读入方式。
对于这个问题的求和,需要使用前缀和才能顺利通过本题。