#914. 还是我的定义

还是我的定义

题面

如果对于从 11n1n - 1 的所有 iiaia_i 中所有(二进制表示的)1 都位于 ai+1a_{i + 1} 中(二进制表示的)1 的位置上,则称非负整数 a1,a2,,ana_1, a_2, \dots, a_n 序列为增长序列。(换言之, ai&ai+1=aia_i \:\&\: a_{i + 1} = a_i ,其中 &\& 表示 &\&运算 。如果 n=1n = 1 ,则该序列也被视为增长序列)。

例如,以下四个序列都是增长型序列:

  • [2,3,15,175][2, 3, 15, 175] - 二进制为 [102,112,11112,101011112][10_2, 11_2, 1111_2, 10101111_2]
  • [5][5] - 二进制是 [1012][101_2]
  • [1,3,7,15][1, 3, 7, 15] - 二进制是 [12,112,1112,11112][1_2, 11_2, 111_2, 1111_2]
  • [0,0,0][0, 0, 0] - 二进制中为 [02,02,02][0_2, 0_2, 0_2]

以下三个序列是非增长序列:

  • [3,4,5][3, 4, 5] - 二进制为 [112,1002,1012][11_2, 100_2, 101_2]
  • [5,4,3][5, 4, 3] - 二进制为 [1012,1002,0112][101_2, 100_2, 011_2]
  • [1,2,4,8][1, 2, 4, 8] - 二进制为 [00012,00102,01002,10002][0001_2, 0010_2, 0100_2, 1000_2]

考虑两个非负整数序列 x1,x2,,xnx_1, x_2, \dots, x_ny1,y2,,yny_1, y_2, \dots, y_n 。如果序列 $x_1 \oplus y_1, x_2 \oplus y_2, \dots, x_n \oplus y_n$ 是不断增长的,我们就称这对序列为共同增长序列,其中 \oplus 表示 bitwise XOR

给你一个整数序列 x1,x2,,xnx_1, x_2, \dots, x_n 。求序列 xix_iyiy_i 是共同增长的序列 y1,y2,,yny_1, y_2, \dots, y_n 的词典最小值。

如果存在 1kn1 \le k \le n ,使得 ai=bia_i = b_i 对于任何 1i<k1 \le i \lt k 都小于序列 b1,b2,,bnb_1, b_2, \dots, b_n ,那么序列 a1,a2,,ana_1, a_2, \dots, a_n 在词法上小于序列 b1,b2,,bnb_1, b_2, \dots, b_n

输入

第一行包含一个整数 tt ( 1t1041 \le t \le 10^4 )。然后是 tt 个测试用例。

每个测试用例的第一行都包含一个整数 nn ( 1n21051 \le n \le 2 \cdot 10^5 ) - 序列 xix_i 的长度。

第二行包含 nn 个整数 x1,x2,,xnx_1, x_2, \dots, x_n ( 0xi230)0 \leq x_i \leq 2^{30})- 序列 xix_i 的元素。

保证所有测试用例的 nn 总和不超过 21052 \cdot 10^5

输出

对于每个测试用例,打印 nn 个整数 y1,y2,,yny_1, y_2, \dots, y_n ( 0yi2300 \leq y_i\leq 2^{30} ) - 最小序列的词序,使其与给定序列 xix_i 共同增长。

样例

5
4
1 3 7 15
4
1 2 4 8
5
1 2 3 4 5
4
11 13 15 1
1
0
0 0 0 0 
0 1 3 7 
0 1 0 3 2 
0 2 0 14 
0