#arc100c. [arc100_c]Or Plus Max

[arc100_c]Or Plus Max

Problem Statement

There is an integer sequence of length 2N2^N: A0,A1,...,A2N1A_0, A_1, ..., A_{2^N-1}. (Note that the sequence is 00-indexed.)

For every integer KK satisfying 1leqKleq2N11 \\leq K \\leq 2^N-1, solve the following problem:

  • Let ii and jj be integers. Find the maximum value of Ai+AjA_i + A_j where 0leqi<jleq2N10 \\leq i < j \\leq 2^N-1 and (i(i oror j)leqKj) \\leq K. Here, oror denotes the bitwise OR.

Constraints

  • 1leqNleq181 \\leq N \\leq 18
  • 1leqAileq1091 \\leq A_i \\leq 10^9
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN A0A_0 A1A_1 ...... A2N1A_{2^N-1}

Output

Print 2N12^N-1 lines. In the ii-th line, print the answer of the problem above for K=iK=i.


Sample Input 1

2
1 2 3 1

Sample Output 1

3
4
5

For K=1K=1, the only possible pair of ii and jj is (i,j)=(0,1)(i,j)=(0,1), so the answer is A0+A1=1+2=3A_0+A_1=1+2=3.

For K=2K=2, the possible pairs of ii and jj are (i,j)=(0,1),(0,2)(i,j)=(0,1),(0,2). When (i,j)=(0,2)(i,j)=(0,2), Ai+Aj=1+3=4A_i+A_j=1+3=4. This is the maximum value, so the answer is 44.

For K=3K=3, the possible pairs of ii and jj are (i,j)=(0,1),(0,2),(0,3),(1,2),(1,3),(2,3)(i,j)=(0,1),(0,2),(0,3),(1,2),(1,3),(2,3) . When (i,j)=(1,2)(i,j)=(1,2), Ai+Aj=2+3=5A_i+A_j=2+3=5. This is the maximum value, so the answer is 55.


Sample Input 2

3
10 71 84 33 6 47 23 25

Sample Output 2

81
94
155
155
155
155
155

Sample Input 3

4
75 26 45 72 81 47 97 97 2 2 25 82 84 17 56 32

Sample Output 3

101
120
147
156
156
178
194
194
194
194
194
194
194
194
194