#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
#define inf 1000000000000000LL
#define mod 1000000007LL
#define FOR(i,a,b) for(int i = a; i < b; i++)
void solve() {
ll n;
cin >> n;
vector <ll> l1(n);
vector <vector <ll>>adj(n+1);
vector <ll> cnt(n+1,0); ll mex = 0;
for (int i = 0; i < n; i++){
cin >> l1[i];
if (l1[i] <= n)
adj[l1[i]].push_back(i);
}
ll v =0;
for (int i = 0; i < n; i++){
v += (l1[i] > 0);
}
if (adj[0].size() ==0){
cout << v << "\n"; return;
}
auto update_mex = [&](){
while (cnt[mex] >= 1){
mex++;
}
};
for (int i = n-1; i >= 0; i--){
update_mex();
if (i < adj[0][0]){
if (l1[i] < mex){
cout << v << "\n";
return;
}
}
if (l1[i] != 0 && l1[i] <= n){
cnt[l1[i]]++;
}
if (i == adj[0][0]){
cnt[0]++;
continue;
}
}
cout << v + 1 << "\n";
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nIGludDsKI2RlZmluZSBpbmYgMTAwMDAwMDAwMDAwMDAwMExMCiNkZWZpbmUgbW9kIDEwMDAwMDAwMDdMTAojZGVmaW5lIEZPUihpLGEsYikgZm9yKGludCBpID0gYTsgaSA8IGI7IGkrKykKCnZvaWQgc29sdmUoKSB7CiAgICBsbCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3IgPGxsPiBsMShuKTsKICAgIHZlY3RvciA8dmVjdG9yIDxsbD4+YWRqKG4rMSk7CiAgICB2ZWN0b3IgPGxsPiBjbnQobisxLDApOyBsbCBtZXggPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNpbiA+PiBsMVtpXTsKICAgICAgICBpZiAobDFbaV0gPD0gbikKICAgICAgICAgICAgYWRqW2wxW2ldXS5wdXNoX2JhY2soaSk7CiAgICB9CiAgICBsbCB2ID0wOyAKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICB2ICs9IChsMVtpXSA+IDApOwogICAgfQogICAgaWYgKGFkalswXS5zaXplKCkgPT0wKXsKICAgICAgICBjb3V0IDw8IHYgPDwgIlxuIjsgcmV0dXJuOwogICAgfQogICAgYXV0byB1cGRhdGVfbWV4ID0gWyZdKCl7CiAgICAgICAgd2hpbGUgKGNudFttZXhdID49IDEpewogICAgICAgICAgICBtZXgrKzsKICAgICAgICB9CiAgICB9OwogICAgZm9yIChpbnQgaSA9IG4tMTsgaSA+PSAwOyBpLS0pewogICAgICAgIHVwZGF0ZV9tZXgoKTsKICAgICAgICBpZiAoaSA8IGFkalswXVswXSl7CiAgICAgICAgICAgIGlmIChsMVtpXSA8IG1leCl7CiAgICAgICAgICAgICAgICBjb3V0IDw8IHYgPDwgIlxuIjsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAobDFbaV0gIT0gMCAmJiBsMVtpXSA8PSBuKXsKICAgICAgICAgICAgY250W2wxW2ldXSsrOwogICAgICAgIH0KICAgICAgICBpZiAoaSA9PSBhZGpbMF1bMF0pewogICAgICAgICAgICBjbnRbMF0rKzsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCB2ICsgMSA8PCAiXG4iOwp9CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgbGwgdCA9IDE7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9