#JDC5G. 子异或和

子异或和

题目描述

给定一个非负整数 xx,我们定义集合 S={(y  x)=x}S = \{(y\ |\ x) = x \}

换句话说,SS 中包含所有满足按位或后结果仍为 xx 的整数 yy

请你计算集合 SS 中所有元素的异或和,即 ySy\bigoplus_{y \in S} y

其中 \oplus 表示按位异或运算。

输入格式

第一行包含一个整数 TT1T1051 \leq T \leq 10^5),表示测试数据的组数。

接下来 TT 行,每行包含一个整数 xx0x1090 \leq x \leq 10^9)。

输出格式

对于每组数据,输出一行一个整数,表示答案。

3
0
2
536870912
0
2
536870912