#P104. MeXor

MeXor

题目描述

给定正整数 nn,设集合 S={1,2,,n}S = \{1, 2, \ldots, n \},你可以执行下列操作恰好一次:

  • 取一个非负整数 xx,将 SS 中每个元素 aa 变为 axa \oplus x,其中 \oplus 为按位异或运算 *^\text{*}

设操作后得到的新集合为 SS^′ ,求出 mex(S)\text{mex}(S^′)^† 可能的最大值。


*^{\text{*}} 按位异或运算指,对两个数的每个二进制位作不进位加法。

^{\dagger} 对于整数集合 f={f1,f2,,fk}f=\{f_1,f_2,\ldots,f_k\} ,mex(f)\operatorname{mex}(f) 定义为集合 ff 中未出现的最小非负整数。

输入格式

输入包含多个测试用例。

第一行输入一个正整数 t(1t104)t\,(1\le t\le 10^4), 表示测试用例的数量。

对每个测试用例,输入一行一个正整数,表示给定的 n(n2×105)n\,(n\leq2\times10^5).

输入数据保证所有测试用例中 nn 的和不超过 10610^6 .

输出格式

对于每个测试用例,输出一行一个正整数,表示 mex(S)\operatorname{mex}(S') 可能的最大值。

输入输出样例 #1

输入 #1

1
2

输出 #1

1

说明/提示

样例解释

初始集合为 S={1,2}S=\{1,2\}, 选择 x=1x=1 进行操作后得到 S={11,21}={0,3},mex{0,3}=1S'=\{1 \oplus 1, 2 \oplus 1\}=\{0,3\}, \operatorname{mex} \{0,3\}=1. 当然也可以选择 x=2x=2 进行操作,会得到同样的答案。可以证明,不存在更优的操作方法,故答案为 11.