D. Maximum ANDtime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given two arrays a and b, consisting of n integers each.Let's define a function f(a, b) as follows:   let's define an array c of size n, where c_i = a_i \oplus b_i (\oplus denotes bitwise XOR);  the value of the function is c_1 \mathbin{\&} c_2 \mathbin{\&} \cdots \mathbin{\&} c_n (i.e. bitwise AND of the entire array c). Find the maximum value of the function f(a, b) if you can reorder the array b in an arbitrary way (leaving the initial order is also an option).InputThe first line contains one integer t (1 \le t \le 10^4) — the number of test cases.The first line of each test case contains one integer n (1 \le n \le 10^5) — the size of arrays a and b.The second line contains n integers a_1, a_2, \dots, a_n (0 \le a_i < 2^{30}).The third line contains n integers b_1, b_2, \dots, b_n (0 \le b_i < 2^{30}).The sum of n over all test cases does not exceed 10^5.OutputFor each test case print one integer — the maximum value of the function f(a, b) if you can reorder the array b in an arbitrary way.ExampleInput
351 0 0 3 32 3 2 1 031 1 10 0 380 1 2 3 4 5 6 77 6 5 4 3 2 1 0Output
2
0
7

351 0 0 3 32 3 2 1 031 1 10 0 380 1 2 3 4 5 6 77 6 5 4 3 2 1 0
2 0 7 
['bitmasks', 'dfs and similar', 'divide and conquer', 'greedy', 'sortings', '*1800']