#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Mod=998244353;
const ll INF = -10000000000000;
void solve() {
ll n;
cin >> n;
vector<ll> a(n+1);
for(ll i=1;i<=n;i++) cin >> a[i];
unordered_map<ll,vector<ll>> mp;
for(ll i=2;i<=n;i++){
ll need = a[i]+i-1;
mp[need].push_back(i);
}
for(auto &vc : mp){
auto &ve = vc.second;
sort(ve.begin(),ve.end());
}
ll ans = n;
auto it=mp.find(n);
if(it==mp.end()) {cout << n << '\n';return;}
for(int i :it->second){
ll best = n;
ll curr = n;
ll j=i;
while(true){
curr+=j-1;
best=max(best,curr);
auto ite = mp.find(curr);
if(ite==mp.end()) break;
auto &ve = ite->second;
j=ve.back();
}
ans=max(ans,best);
}
cout << ans << '\n';
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTW9kPTk5ODI0NDM1MzsKY29uc3QgbGwgSU5GID0gLTEwMDAwMDAwMDAwMDAwOwoKdm9pZCBzb2x2ZSgpIHsKICAgIGxsIG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3RvcjxsbD4gYShuKzEpOwogICAgZm9yKGxsIGk9MTtpPD1uO2krKykgY2luID4+IGFbaV07CiAgICB1bm9yZGVyZWRfbWFwPGxsLHZlY3RvcjxsbD4+IG1wOwogICAgZm9yKGxsIGk9MjtpPD1uO2krKyl7CiAgICAgICAgbGwgbmVlZCA9IGFbaV0raS0xOwogICAgICAgIG1wW25lZWRdLnB1c2hfYmFjayhpKTsKICAgIH0KICAgIGZvcihhdXRvICZ2YyA6IG1wKXsKICAgICAgICBhdXRvICZ2ZSA9IHZjLnNlY29uZDsKICAgICAgICBzb3J0KHZlLmJlZ2luKCksdmUuZW5kKCkpOwogICAgfQogICAgbGwgYW5zID0gbjsKICAgIGF1dG8gaXQ9bXAuZmluZChuKTsKICAgIGlmKGl0PT1tcC5lbmQoKSkge2NvdXQgPDwgbiA8PCAnXG4nO3JldHVybjt9CiAgICBmb3IoaW50IGkgOml0LT5zZWNvbmQpewogICAgICAgIGxsIGJlc3QgPSBuOwogICAgICAgIGxsIGN1cnIgPSBuOwogICAgICAgIGxsIGo9aTsKICAgICAgICB3aGlsZSh0cnVlKXsKICAgICAgICAgICAgY3Vycis9ai0xOwogICAgICAgICAgICBiZXN0PW1heChiZXN0LGN1cnIpOwoKICAgICAgICAgICAgYXV0byBpdGUgPSBtcC5maW5kKGN1cnIpOwogICAgICAgICAgICBpZihpdGU9PW1wLmVuZCgpKSBicmVhazsKCiAgICAgICAgICAgIGF1dG8gJnZlID0gaXRlLT5zZWNvbmQ7CiAgICAgICAgICAgIGo9dmUuYmFjaygpOwogICAgICAgIH0KICAgICAgICBhbnM9bWF4KGFucyxiZXN0KTsKICAgIH0KICAgIGNvdXQgPDwgYW5zIDw8ICdcbic7Cn0KICAgICAgICAKaW50IG1haW4oKXsgCiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoJCiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgc29sdmUoKTsKICAgIAoKICAgIHJldHVybiAwOwp9Cg==