zzq和他的位运算
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

zzq 和他的队友像往常一样进行训练赛。这一天,他遇到了一道位运算的题目,但是 zzq 水平有限,解决不了这个问题,于是,他向他的队友 lxr 和 zyf 求助。聪明的 lxr 和 zyf 很快就解决了这个问题。为了嘲笑zzq,他们又给他出了另一道简单的位运算题,用来考验他。这个问题被描述如下:
一个数被称为“好数”,当且仅当它的二进制表示中出现的次数为奇数。例如的二进制表示为 ,其中出现的次数为,所以不是一个“好数” ;而的二进制表示为 ,其中出现的次数为3,所以7是一个“好数”
现在,给你一个区间 ,请你求出这个区间内有多少“好数”。
为了不被 lxr 和 zyf 嘲笑,请你帮助 zzq 解决这个问题。

输入描述:

第一行给出一个整数 ,表示询问了  次。
接下来  行,每行两个整数

输出描述:

输出  行,每行一个整数,第  行的整数代表第  次询问的答案。
示例1

输入

复制
1
1 1

输出

复制
1