'''
如果牌的种类大于1,且只有1种牌的数量大于1张:我们需要预知足够多的卡牌,使得剩下未预知的卡牌中,每种的数量最多为1。这样剩下的牌无论怎么选两张都不会相同,此时玩家只需要从剩下的牌里翻牌。
如果牌的种类大于1,且每种牌的数量都大于1张:需要预知数量最多的种类的所有牌,然后玩家从已预知的牌里抽1张,从未预知的牌里抽1张,即可保证不输。
'''
while True:
try:
T = int(input())
for i in range(T):
n = int(input())
lst = list(map(int, input().split()))
if len(lst) == 1: # 只有1种牌
print(-1)
elif len(lst) > 1 and min(lst) == 1 and max(lst) == 1: # 每种牌都只有1张
print(0)
elif lst.count(1) == len(lst) - 1: # 只有1种牌的数量大于1张
print(max(lst) - 1)
else: # 所有种类牌的数量都大于1张
print(max(lst))
except:
break