#ACM0011. 奇怪的等式

奇怪的等式

题目描述

现给定一个 nn ,请你求出 00 ~ nn 中的每个 ii 满足 in=ini \bigoplus n =i\mid n (即 iinn 的异或值等于 iinn 的按位或)等式的 ii 的个数。

\bigoplus 表示异或:二进制位相同为 00,不同为 11

\mid 表示或:二进制位有 1111 ,全 00 才是 00

如:

$2 \bigoplus 3 = (010)_2 \bigoplus (011)_2 = (001)_2=1$

23=(010)2(011)2=(011)2=32 \mid 3 = (010)_2 \mid (011)_2 = (011)_2=3

输入格式

第一行一个整数 TT1T1041\le T \le 10^4) ,代表 TT 组测试样例。

接下来的 TT 行,每行一个正整数 nn0n10180\le n \le10^{18}) 。

输出格式

输出 TT 行,每行一个整数代表满足条件的个数。

输入样例

3
0
1
2

输出样例

1
1
2

提示

n=0n=0 时:只有 00 满足条件

n=1n=1 时:只有 00 满足条件

n=2n=2 时:有 0,10,1 满足条件