#cf16exhibitionfinalc. [cf16_exhibition_final_c]Cheating Nim

[cf16_exhibition_final_c]Cheating Nim

问题描述

#nck { width: 30px; height: auto; }

一只豹子和一个骗子要玩尼姆游戏。在这个游戏中,他们使用 NN 堆石头。初始时,第 ii 堆有 aia_i 颗石头。两位玩家轮流进行游戏,豹子先开始。每一轮,玩家选择其中一堆石头,并从中取走一颗或多颗石头。无法进行有效移动的玩家将会输掉游戏。

然而,在游戏开始之前,骗子想要稍微作弊,确保无论豹子如何行动,他都能获胜。他可以选择从每一堆石头中拿走零颗或一颗石头,并在游戏开始前吃掉它们。如果有多种方法可以确保他获胜,他希望最小化他吃掉的石头数量。

计算骗子将会吃掉的石头数量。如果即使作弊也没有办法让骗子获胜,则输出 -1

约束条件

  • 1N1051 \leq N \leq 10^5
  • 2ai1092 \leq a_i \leq 10^9

输入

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

NN a1a_1aNa_N

输出

输出答案。

输入示例1

3
2
3
4

输出示例1

3

骗子获胜的唯一方法是从所有堆中取走石头并吃掉它们。

输入示例2

3
100
100
100

输出示例2

-1