問題文
長さ N の数列 A が与えられます。
この数列を、1 つ以上の空でない連続した区間に分けます。
その後、分けた各区間で、区間内の数のビット単位 mathrmOR を計算します。
こうして得られた全ての値のビット単位 mathrmXOR として考えられる最小値を求めてください。
ビット単位 mathrmOR 演算とは
整数 A,B のビット単位 mathrmOR、AmathrmORB は以下のように定義されます。
- AmathrmORB を二進表記した際の 2k (kgeq0) の位の数は、A,B を二進表記した際の 2k の位の数のうち少なくとも片方が 1 であれば 1、そうでなければ 0 である。
例えば、3mathrmOR5=7 となります (二進表記すると: 011mathrmOR101=111)。
一般に k 個の整数 p1,p2,p3,dots,pk のビット単位 mathrmOR は $(\\dots ((p_1\\ \\mathrm{OR}\\ p_2)\\ \\mathrm{OR}\\ p_3)\\ \\mathrm{OR}\\ \\dots\\ \\mathrm{OR}\\ p_k)$ と定義され、これは p1,p2,p3,dotspk の順番によらないことが証明できます。
ビット単位 mathrmXOR 演算とは
整数 A,B のビット単位 mathrmXOR 、AmathrmXORB は、以下のように定義されます。
- AmathrmXORB を二進表記した際の 2k (kgeq0) の位の数は、A,B を二進表記した際の 2k の位の数のうち一方のみが 1 であれば 1、そうでなければ 0 である。
例えば、3mathrmXOR5=6 となります (二進表記すると: 011mathrmXOR101=110)。
一般に k 個以上の整数 p1,p2,p3,dots,pk のビット単位 mathrmXOR は $(\\dots ((p_1\\ \\mathrm{XOR}\\ p_2)\\ \\mathrm{XOR}\\ p_3)\\ \\mathrm{XOR}\\ \\dots\\ \\mathrm{XOR}\\ p_k)$ と定義され、これは p1,p2,p3,dotspk の順番によらないことが証明できます。
制約
- 1leNle20
- 0leAilt230
- 入力に含まれる値は全て整数である
入力
入力は以下の形式で標準入力から与えられる。
N
A1 A2 A3 dots AN
出力
答えを出力せよ。
入力例 1
3
1 5 7
出力例 1
2
\[1, 5, 7\] を \[1, 5\] と \[7\] の 2 つの区間に分けると、それぞれの区間内の数のビット単位 mathrmOR は 5,7 となり、その mathrmXOR は 2 です。
これより小さくすることはできないので、2 を出力します。
入力例 2
3
10 10 10
出力例 2
0
\[10\] と \[10, 10\] に分けるとよいです。
入力例 3
4
1 3 3 1
出力例 3
0
\[1, 3\] と \[3, 1\] に分けるとよいです。