E - Rearrange and Adjacent XOR Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 800

問題文

長さ N の非負整数列 A=(A_1,A_2,\dots,A_N) が与えられます。この整数列に対して以下の操作を N-1 回行って長さ 1 の整数列を得ることを考えます。

  • nA の長さとする。はじめに A 内の要素を好きなように並び替える。 その後、 A を長さ n-1 の非負整数列 (A_1 \oplus A_2, A_2 \oplus A_3, \dots, A_{n-1} \oplus A_n) に置き換える

ただしここで、 \oplus はビット単位 \mathrm{XOR} 演算を表します。

N-1 回の操作後に得られる長さ 1 の整数列が含む項の値を X としたとき、X として考えられる値の最大値を求めてください。

ビット単位 \mathrm{XOR} 演算とは

非負整数 A, B のビット単位 \mathrm{XOR}A \oplus B は、以下のように定義されます。

  • A \oplus B を二進表記した際の 2^k (k \geq 0) の位の数は、A, B を二進表記した際の 2^k の位の数のうち一方のみが 1 であれば 1、そうでなければ 0 である。
例えば、3 \oplus 5 = 6 となります (二進表記すると: 011 \oplus 101 = 110)。
一般に k 個の非負整数 p_1, p_2, p_3, \dots, p_k のビット単位 \mathrm{XOR}(\dots ((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k) と定義され、これは p_1, p_2, p_3, \dots, p_k の順番によらないことが証明できます。

制約

  • 2 \leq N \leq 100
  • 0 \leq A_i < 2^{60}
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

N
A_1 A_2 \dots A_N

出力

答えを出力せよ。


入力例 1

4
1 2 3 4

出力例 1

7

以下のような 3 回の操作により AA=(7) とできます。

  • 1 回目の操作にて、 A=(1,2,3,4)(3,1,4,2) と並び替える。 A(3 \oplus 1, 1 \oplus 4, 4 \oplus 2) = (2,5,6) に置き換わる。
  • 2 回目の操作にて、 A=(2,5,6)(2,6,5) と並び替える。 A(2 \oplus 6, 6 \oplus 5) = (4,3) に置き換わる。
  • 3 回目の操作にて、 A=(4,3)(4,3) と並び替える。 A(4 \oplus 3) = (7) に置き換わる。

入力例 2

13
451745518671773958 43800508384422957 153019271028231120 577708532586013562 133532134450358663 619750463276496276 615201966367277237 943395749975730789 813856754125382728 705285621476908966 912241698686715427 951219919930656543 124032597374298654

出力例 2

1152905479775702586

Score: 800 points

Problem Statement

You are given a sequence of N non-negative integers A=(A_1,A_2,\dots,A_N). Consider performing the following operation N-1 times on this sequence to obtain a sequence of length 1:

  • Let n be the length of A. First, rearrange the elements in A in any order you like. Then, replace A with a sequence of n-1 non-negative integers (A_1 \oplus A_2, A_2 \oplus A_3, \dots, A_{n-1} \oplus A_n).

Here, \oplus represents the bitwise \mathrm{XOR} operation.

Let X be the value of the term contained in the sequence of length 1 obtained after N-1 operations. Find the maximum possible value of X.

What is the bitwise \mathrm{XOR} operation?

The bitwise \mathrm{XOR} of two non-negative integers A and B, denoted as A \oplus B, is defined as follows:

  • In the binary representation of A \oplus B, the digit at the 2^k (k \geq 0) position is 1 if the digit at the 2^k position is 1 in A or B but not both, and 0 otherwise.
For example, 3 \oplus 5 = 6 (in binary: 011 \oplus 101 = 110).
In general, the bitwise \mathrm{XOR} of k non-negative integers p_1, p_2, p_3, \dots, p_k is defined as (\dots ((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k), and it can be proved that this does not depend on the order of p_1, p_2, p_3, \dots, p_k.

Constraints

  • 2 \leq N \leq 100
  • 0 \leq A_i < 2^{60}
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

N
A_1 A_2 \dots A_N

Output

Print the answer.


Sample Input 1

4
1 2 3 4

Sample Output 1

7

The sequence A can be transformed into A=(7) by the following three operations:

  • In the first operation, rearrange A=(1,2,3,4) to (3,1,4,2). A is replaced with (3 \oplus 1, 1 \oplus 4, 4 \oplus 2) = (2,5,6).
  • In the second operation, rearrange A=(2,5,6) to (2,6,5). A is replaced with (2 \oplus 6, 6 \oplus 5) = (4,3).
  • In the third operation, rearrange A=(4,3) to (4,3). A is replaced with (4 \oplus 3) = (7).

Sample Input 2

13
451745518671773958 43800508384422957 153019271028231120 577708532586013562 133532134450358663 619750463276496276 615201966367277237 943395749975730789 813856754125382728 705285621476908966 912241698686715427 951219919930656543 124032597374298654

Sample Output 2

1152905479775702586