CF BUDDY
← Problems·

1742G · Orray

1500 · bitmasks, brute force, greedy

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

Let's define the prefix OR array bb as the array bi=a1 OR a2 OR  OR aib_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 > y_i.

Input Format: 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 Format: For each test case print nn integers — any rearrangement of the array aa that obtains the lexicographically maximum prefix OR array.

Sample Cases

Case 1

Input

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

Output

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

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback