正如很多刚学程序设计的人一样,cjh 刚刚学会了异或操作(也就是 xor),于是,他向 forty-twoo 炫耀自己学到的新本领。
forty-twoo 决定刁难 cjh,于是,向 cjh 提出一个问题,给你一个自然数 x,你能找到两个大于 0 的整数 a,b,满足 a ≤ b 且 a \ xor \ b = x 吗?
cjh 想了想,若 x = 6,可以 a = 1,b = 7,也可以 a = 2,b = 4。
于是问 forty-twoo:” 你要哪一组解??”。
forty-twoo:” 那就要使得 b 尽量小。”。
cjh 陷入了沉思。帮帮 cjh!
输入
一个数 T ,表示测试的组数。(1 ≤ T ≤ 100000)
每组有 1 个数 x(0 ≤ x ≤ 10^9)
输出
对于每个 x 输出两个正整数 a 和 b,用一个空格隔开,满足 a \ xor \ b = x,a ≤ b,且 b 应 尽量小。
样例
标准输入 复制文本 |
3 6 8 10 |
标准输出 复制文本 |
2 4 1 9 2 8 |
来源
2019 SCNUCS-N 现场赛