[ABC172F] Unfair Nim

题意翻译

有 $N$ 堆石子,第 $i$ 堆石子有 $A_i$ 个。 两人进行取石子游戏,两人轮流操作,每人每次可以从任意一堆中取出任意数量石子,当有一方无法取出任何石子时,该方告负。 在游戏开始前,从第 $1$ 堆中取出一些石子放到第 $2$ 堆(可以不取,但不能全取)来构造一个后手必胜的局面。 求出最少要从第一堆取多少放到第二堆。若无解,输出 `-1` 。

题目描述

[problemUrl]: https://atcoder.jp/contests/abc172/tasks/abc172_f 石の山が $ N $ 個あり、$ i $ 番目の山には $ A_i $ 個の石があります。 これを使って青木君と高橋君が次のようなゲームをしようとしています。 - 青木君から交互に、次の操作を繰り返す - 操作:石の山を $ 1 $ つ選び、そこから $ 1 $ 個以上の石を取り除く - 先に操作ができなくなった方の負け このゲームは、両者が最適に行動する場合、ゲーム開始時の各山の石の個数のみによって、先手必勝か後手必勝かが決まります。 そこで高橋君は、ゲームを始める前に、 $ 1 $ 番目の山から $ 0 $ 個以上 $ A_1 $ 個未満の石を $ 2 $ 番目の山に移すことで、後手の高橋君が必勝となるようにしようとしています。 そのようなことが可能なら移動する石の個数の最小値を、不可能ならかわりに `-1` を出力してください。

输入输出格式

输入格式


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

输出格式


移動する石の個数の最小値を出力せよ。不可能ならかわりに `-1` を出力せよ。

输入输出样例

输入样例 #1

2
5 3

输出样例 #1

1

输入样例 #2

2
3 5

输出样例 #2

-1

输入样例 #3

3
1 1 2

输出样例 #3

-1

输入样例 #4

8
10 9 8 7 6 5 4 3

输出样例 #4

3

输入样例 #5

3
4294967297 8589934593 12884901890

输出样例 #5

1

说明

### 制約 - $ 2\ \leq\ N\ \leq\ 300 $ - $ 1\ \leq\ A_i\ \leq\ 10^{12} $ ### Sample Explanation 1 石の移動をしなかった場合、青木君が最初に $ 1 $ 番目の山から $ 2 $ 個の石を取り除くと、高橋君はその後どのように行動しても負けてしまいます。 ゲームを始める前に $ 1 $ 番目の山から $ 1 $ 個の石を移動して、石の個数を $ 4,4 $ とした場合、適切な行動を取ることで、高橋君は必ず勝つことができます。 ### Sample Explanation 2 $ 2 $ 番目の山から $ 1 $ 番目の山へ石を移すことはできません。 ### Sample Explanation 3 $ 1 $ 番目の山のすべての石を移すことはできません。 ### Sample Explanation 5 オーバーフローに注意してください。