CF1742G.Orray

传统题 时间 2000 ms 内存 256 MiB 8 尝试 3 已通过 1 标签

Orray

You are given an array aa consisting of nn nonnegative integers.

Let's define the prefix OR array bb as the array $b_i = a_1~\mathsf{OR}~a_2~\mathsf{OR}~\dots~\mathsf{OR}~a_i$, where OR\mathsf{OR} represents the bitwise OR operation. In other words, the array bb is formed by computing the OR\mathsf{OR} of every prefix of aa.

You are asked to rearrange the elements of the array aa in such a way that its prefix OR array is lexicographically maximum.

An array xx is lexicographically greater than an array yy if in the first position where xx and yy differ, xi>yix_i \gt y_i.

Input

The first line of the input contains a single integer tt (1t1001 \le t \le 100) — the number of test cases. The description of test cases follows.

The first line of each test case contains a single integer nn (1n21051 \leq n \leq 2 \cdot 10^5) — the length of the array aa.

The second line of each test case contains nn nonnegative integers a1,,ana_1, \ldots, a_n (0ai1090 \leq a_i \leq 10^9).

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case print nn integers — any rearrangement of the array aa that obtains the lexicographically maximum prefix OR array.

Samples

5
4
1 2 4 8
7
5 1 2 3 4 5 5
2
1 101
6
2 3 4 2 3 4
8
1 4 2 3 4 5 7 1
8 4 2 1 
5 2 1 3 4 5 5 
101 1 
4 3 2 2 3 4 
7 1 4 2 3 4 5 1 

在线编程 IDE

建议全屏模式获得最佳体验