write a go solution for Description: You are given an array a consisting of n nonnegative integers. Let's define the prefix OR array b as the array b_i=a_1~mathsfOR~a_2~mathsfOR~...~mathsfOR~a_i, where mathsfOR represents the bitwise OR operation. In other words, the array b is formed by computing the mathsfOR of every prefix of a. You are asked to rearrange the elements of the array a in such a way that its prefix OR array is lexicographically maximum. An array x is lexicographically greater than an array y if in the first position where x and y differ, x_i>y_i. Input Format: The first line of the input contains a single integer t (1<=t<=100) — the number of test cases. The description of test cases follows. The first line of each test case contains a single integer n (1<=n<=2*10^5) — the length of the array a. The second line of each test case contains n nonnegative integers a_1,ldots,a_n (0<=a_i<=10^9). It is guaranteed that the sum of n over all test cases does not exceed 2*10^5. Output Format: For each test case print n integers — any rearrangement of the array a that obtains the lexicographically maximum prefix OR array. Note: None. Output only the code with no comments, explanation, or additional text.