大苯营
题号:NC291904
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小苯有一个正整数 x,他希望你找出一个正整数 y\ (x \neq y, 1 \leqq y < 2^{31}),使得:

1.x\ |\ y
2. x \oplus y
3.\gcd(x,y)

以上三个数字可以构成一个非退化的三角形(即满足:任意两边之和大于第三边)。

输入描述:

本题每个测试文件中均包含多组测试数据。
输入的第一行包含一个正整数 T\ (1 \leqq T \leqq 10^4),表示数据组数。
接下来包含 T 组数据,每组数据的格式如下:
输入一行一个正整数 x\ (1 \leqq x < 2^{31}),表示小苯的正整数 x

输出描述:

对于每组测试数据:
如果存在合法解,输出任意正整数 y\ (y\ne x) 即可。
(如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。)
否则无解输出一个 -1 即可。
示例1

输入

复制
4
1
4
6
8

输出

复制
2
2
3
7

说明

对于第二组测试数据,x=4 时可以选择 y=2,此时有:
\gcd(2,4)=2,\ 2\ |\ 4=6, 2\oplus4=6,而 (6,6,2) 可以构成一个非退化三角形。