/*三种情况:
第一种是只有一种卡牌,输出不可能即可。
第二种是只有一种卡牌个数为a不为1,其他均为以,这时只需要保证让剩下的卡牌均为1即可,即输出a-1即可。
第三种是有多种卡牌个数不为1,这是只要保证最多的卡牌全部找出来即可。
*/
#include <stdio.h>
int main() {
    int t;
    scanf("%d", &t);
    for (int i = 0; i < t; i++) {
        int n;
        scanf("%d", &n);
        int arr[n];
        int max = 0;
        int count = 0; //卡牌个数为1的数量
        for (int j = 0; j < n; j++) {
            scanf("%d", &arr[j]);
            if (arr[j] == 1)count++;
            max = fmax(max, arr[j]);//种类最多的卡牌
        }
        if (n == 1) {
            printf("-1\n");
            continue;
        }
        if (count == n - 1) {
            printf("%d\n", max - 1);
        } else {
            printf("%d\n", max);
        }


    }
}

#c