CF1635A.Min Or Sum

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Min Or Sum

You are given an array aa of size nn.

You can perform the following operation on the array:

  • Choose two different integers i,ji, j (1i<jn(1 \leq i \lt j \leq n), replace aia_i with xx and aja_j with yy. In order not to break the array, aiaj=xya_i | a_j = x | y must be held, where | denotes the bitwise OR operation. Notice that xx and yy are non-negative integers.

Please output the minimum sum of the array you can get after using the operation above any number of times.

Input

Each test contains multiple test cases. The first line contains the number of test cases tt (1t1000)(1 \leq t \leq 1000). Description of the test cases follows.

The first line of each test case contains an integer nn (2n100)(2 \leq n \leq 100) — the size of array aa.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots ,a_n (0ai<230)(0 \leq a_i \lt 2^{30}).

Output

For each test case, print one number in a line — the minimum possible sum of the array.

Note

In the first example, you can perform the following operations to obtain the array [1,0,2][1, 0, 2]:

  1. choose i=1,j=2i = 1, j = 2, change a1=1a_1 = 1 and a2=2a_2 = 2, it's valid since 13=121 | 3 = 1 | 2. The array becomes [1,2,2][1, 2, 2].

  2. choose i=2,j=3i = 2, j = 3, change a2=0a_2 = 0 and a3=2a_3 = 2, it's valid since 22=022 | 2 = 0 | 2. The array becomes [1,0,2][1, 0, 2].

We can prove that the minimum sum is 1+0+2=31 + 0 + 2 = 3

In the second example, We don't need any operations.

Samples

4
3
1 3 2
5
1 2 4 8 16
2
6 6
3
3 5 6
3
31
6
7

在线编程 IDE

建议全屏模式获得最佳体验