AT_jsc2023_final_d Two Xor

Description

長さ $ N $ の非負整数列 $ A=(A_1,A_2,\cdots,A_N) $ が与えられます. あなたは,次の操作を**高々 $ 2 $ 回**行うことができます. なお, $ \oplus $ はビット単位 $ \mathrm{XOR} $ 演算を表します. - 非負整数 $ X $ を自由に選ぶ. その後,各 $ i=1,2,\cdots,N $ について, $ A_i $ の値を据え置くかもしくは $ A_i \oplus X $ で置き換える. 操作後の $ A $ の要素の最大値としてあり得る最小値を求めてください. ビット単位 $ \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 $ の順番によらないことが証明できます。

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $

Output Format

答えを出力せよ.

Explanation/Hint

### Sample Explanation 1 例えば,以下のような操作が考えられます. - $ X=1 $ を選ぶ. - $ i=2 $ について, $ A_2 $ の値を $ 1 \oplus 1=0 $ で置き換える. - $ i=4 $ について, $ A_4 $ の値を $ 3 \oplus 1=2 $ で置き換える. - $ X=2 $ を選ぶ. - $ i=3 $ について, $ A_3 $ の値を $ 2 \oplus 2=0 $ で置き換える. - $ i=4 $ について, $ A_4 $ の値を $ 2 \oplus 2=0 $ で置き換える. このとき,操作後の $ A $ の要素の最大値は $ 0 $ になります. これは明らかに達成可能な最小値なので,答えは $ 0 $ です. ### Constraints - $ 1 \leq N \leq 2^{18} $ - $ 0 \leq A_i < 2^{18} $ - 入力される値はすべて整数.