misc#P25006. 子异或和

    ID: 206 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 2 上传者: 标签>基础算法贪心浙江机电职业技术大学校赛

子异或和

题目描述

给定一个非负整数 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