#include <bits/stdc++.h>
using namespace std;
int calc_mex(vector<int> & v)
{
int ans = v.size();
int n = v.size();
for (int i = 0; i < n; i++)
{
if (v[i] != i)
return i;
}
return ans;
}
void mainSolve()
{
int n;
cin >> n;
set<int> s;
for (int i = 0; i < n; i++)
{
int x;
cin >> x;
s.insert(x);
}
vector<int> v;
for (int x : s)
v.push_back(x);
int mex = calc_mex(v);
if (mex == 0)
{
cout << (v[0] - 1) << endl;
return;
}
if (mex == 1)
{
cout << -1 << endl;
return;
}
int ans = 0;
n = v.size();
for (int i = 0; i < n;)
{
int cnt = 1;
int j = i + 1;
while (j < n && v[j] - v[j - 1] == 1)
++cnt, j++;
if (cnt >= (mex - 1))
++ans;
i = j;
}
--ans;
cout << ans << endl;
}
int main()
{
int t;
cin >> t;
while (t--)
{
mainSolve();
}
return 0;
}