A. Trust Nobody
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Есть группа из $$$n$$$ человек. Некоторые из них могут быть лжецами, которые всегда лгут. Остальные люди всегда говорят правду. $$$i$$$-й человек сказал: «Среди нас не менее $$$l_i$$$ лжецов». Определите, является ли сказанное людьми противоречивым, или это возможно. Если это возможно, выведите количество лжецов в группе. Если ответов несколько, вы можете вывести любой из них.

Входные данные

В первой строке находится единственное целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — число наборов входных данных.

Первая строка каждого набора входных данных содержит единственное целое число $$$n$$$ ($$$1 \leq n \leq 100$$$).

Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$l_i$$$ ($$$0 \leq l_i \leq n$$$) — число, которое сказал $$$i$$$-й человек.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^4$$$.

Выходные данные

Для каждого набора входных данных выведите одно целое число. Если сказанное людьми противоречиво, выведите $$$-1$$$. Иначе выведите количество лжецов в группе. Если ответов несколько, вы можете вывести любой из них.

Пример
Входные данные
7
2
1 2
2
2 2
2
0 0
1
1
1
0
5
5 5 3 3 5
6
5 3 6 6 3 5
Выходные данные
1
-1
0
-1
0
3
4
Примечание

В первом примере единственный возможной ответ, это что лжет второй человек, откуда ответ $$$1$$$ лжец.

Во втором примере можно показать, что невозможно выбрать лжецов, так чтобы все высказывания удовлетворяли условию.

В третьем примере все говорят правду, откуда ответ $$$0$$$ лжецов.