\begin{problem}{Собеседование в Сбер}{стандартный ввод}{стандартный вывод}{2 секунды}{256 мегабайт}

После выпуска из Университета МИСИС Ваня решил устроиться программистом в Сбер. Чтобы успешно пройти собеседование, он решил полностью прорешать архив задач. К сожалению, архив оказался старым, и в нём нельзя было отсортировать задачи по сложности. Сложность каждой задачи обозначена целым числом.

Ваня придумал следующую стратегию: каждый день он будет просматривать задачи одну за другой, с первой до последней. Если текущую задачу он ещё не решал и уровень его навыка достаточен для её решения, то он решает её, и его навык увеличивается на $1$. Ваня может решить задачу, если его навык больше или равен сложности задачи.

Изначально уровень навыка Вани равен $1$. Сколько дней потребуется Ване, чтобы быть готовым к собеседованию?

\InputFile
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $t$ ($1 \le t \le 10^4$) --- количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит целое число $n$ ($1 \le n \le 2 \cdot 10^5$) --- количество задач в архиве.

Вторая строка каждого набора входных данных содержит $n$ целых чисел $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le n$) --- сложности задач в архиве.

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

\OutputFile
Если Ваня сможет решить все задачи из архива, выведите, какое количество дней ему понадобится. В ином случае выведите $-1$.

\Example

\begin{example}
\exmpfile{example.01}{example.01.a}%
\end{example}

\end{problem}

