XOR
Very easy
Execution time limit is 1 second
Runtime memory usage limit is 128 megabytes
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)|.
Input
First line contains the number of test cases z (1 ≤ z ≤ 50). The descriptions of the testcases follow, two lines per test case.
The first line of every test case contains an integer n (1 ≤ n ≤ 10^5
) - the size of the multiset.
The second line contains n integers x[i]
(0 ≤ x[i]
≤ 10^18
) - elements of the multiset.
Output
For each test case output one integer: the smallest possible difference of XORs.
Examples
Input #1
Answer #1
Submissions 156
Acceptance rate 21%