AT_abc172_f [ABC172F] Unfair Nim
Description
[problemUrl]: https://atcoder.jp/contests/abc172/tasks/abc172_f
石の山が $ N $ 個あり、$ i $ 番目の山には $ A_i $ 個の石があります。
これを使って青木君と高橋君が次のようなゲームをしようとしています。
- 青木君から交互に、次の操作を繰り返す
- 操作:石の山を $ 1 $ つ選び、そこから $ 1 $ 個以上の石を取り除く
- 先に操作ができなくなった方の負け
このゲームは、両者が最適に行動する場合、ゲーム開始時の各山の石の個数のみによって、先手必勝か後手必勝かが決まります。
そこで高橋君は、ゲームを始める前に、 $ 1 $ 番目の山から $ 0 $ 個以上 $ A_1 $ 個未満の石を $ 2 $ 番目の山に移すことで、後手の高橋君が必勝となるようにしようとしています。
そのようなことが可能なら移動する石の個数の最小値を、不可能ならかわりに `-1` を出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ \ldots $ $ A_N $
Output Format
移動する石の個数の最小値を出力せよ。不可能ならかわりに `-1` を出力せよ。
Explanation/Hint
### 制約
- $ 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
オーバーフローに注意してください。