Every good problemset needs a problem that can be summarized in a single doge meme. Today's problemset is no different.

Given a multiset S of non-negative integers, divide it into two multisets A and B in a way that minimizes ∣xor(A)−xor(B)∣. Here xor(X) denotes the bitwise XOR of all elements of X.
Note that one of the multisets A and B can be empty, and XOR of an empty multiset is 0.
It is enough to output the minimum possible value of ∣xor(A)−xor(B)∣.
The first line of input contains the number of test cases z (1≤z≤50). The descriptions of the test cases follow, two lines per test case.
The first line of every test case contains an integer n (1≤n≤105) -- the size of the multiset.
The second line contains n integers x_i (0≤x_i≤1018) -- elements of the multiset.
For each test case output one integer: the smallest possible difference of XORs.