「SMOI-R1」Queue

题目背景

签到题……

题目描述

有一个人数为 $n$ 的队伍,队伍中第 $i$ 个人编号为 $i$。 从第一个人依次给后面的那个人传一个数,直到传到第 $n$ 个人。给后面的那个人传数的规则为: - 第一个人的数为 $1$。 - 如果这个人的编号为奇数,那么给后面的人传的数是他现在的数**按位与**上后面那个人的编号。 - 如果这个人的编号为偶数,那么给后面的人传的数是他现在的数**按位异或**上后面那个人的编号。 求出传给第 $n$ 个人的数字。但是求一个的太好求了,所以你要求 $t$ 种情况的。

输入输出格式

输入格式


**本题有多组数据**。 第一行一个整数 $t$,表示数据组数。 对于每组数据: 只有一个数 $n$,代表队伍人数。

输出格式


对于每组数据,输出一个数,代表传给第 $n$ 个人的数字。

输入输出样例

输入样例 #1

3
1
5
10

输出样例 #1

1
5
8

说明

### 样例解释 对于第二组数据: - 第一个人向下一个人传的数是 $1\operatorname{and}2=0$。 - 第二个人向下一个人传的数是 $0\operatorname{xor}3=3$。 - 第三个人向下一个人传的数是 $3\operatorname{and}4=0$。 - 第四个人向下一个人传的数是 $0\operatorname{xor}5=5$。 所以答案是 $5$。 ### 数据范围 **本题采用捆绑测试**。 subtask 编号|$t\leq$| $n\leq$| 分值 -|-|-|- $1$|$10^2$|$10^5$|$20$ $2$|$10^6$|$10^7$|$20$ $3$|$10^6$|$10^{18}$|$60$ 对于 $100\%$ 的数据,保证 $1\le t\le10^6,1\le n\le 10^{18}$。