#abc172f. [abc172_f]Unfair Nim

[abc172_f]Unfair Nim

题目描述

NN 堆石头。第 ii 堆有 AiA_i 个石头。

青木和高桥即将用它们来玩以下游戏:

  • 从青木开始,两个玩家交替执行以下操作:
    • 操作:选择一堆石头,并从中取出一个或多个石头。
  • 当一个玩家无法执行操作时,他失败,另一个玩家获胜。

当两位玩家采取最优策略时,这个游戏有两种可能性:先行动的玩家总是获胜,或者后行动的玩家总是获胜,这只取决于每堆石头的初始数量。

在这种情况下,尝试保证后行动的高桥在游戏开始之前将至少 00 个且最多 (A11)(A_1 - 1) 个石头从第 11 堆移到第 22 堆。

如果这是可能的,打印移动的最小石头数量以确保他获胜;否则,打印 -1

约束条件

  • 2N3002 \leq N \leq 300
  • 1Ai10121 \leq A_i \leq 10^{12}

输入

输入以以下格式从标准输入给出:

NN A1A_1 \ldots ANA_N

输出

打印移动的最小石头数量以确保高桥获胜;否则,打印 -1


示例输入1

2
5 3

示例输出1

1

如果不移动石头,如果青木首先从第 11 堆中取走 22 个石头,高桥无论如何都无法获胜。

如果高桥在游戏开始之前将 11 个石头从第 11 堆移到第 22 堆,使得两堆都有 44 个石头,高桥可以通过正确选择行动而始终获胜。


示例输入2

2
3 5

示例输出2

-1

不允许将石头从第 22 堆移动到第 11 堆。


示例输入3

3
1 1 2

示例输出3

-1

不允许将所有石头从第 11 堆移动。


示例输入4

8
10 9 8 7 6 5 4 3

示例输出4

3

示例输入5

3
4294967297 8589934593 12884901890

示例输出5

1

注意溢出问题。