#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define dbg(a,b,c,d) cerr<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
#define kill(a) {cout<<a<<endl;continue;}
#define KILL(a) {cout<<a<<endl;return 0;}
#define debug cerr<<"Error Found"<<endl;
#define mem(a,b) memset(a,b,sizeof(a))
#define lcm(a, b) (a/__gcd(a,b))*b
#define w(t) cin>>t;while(t--)
#define pi 2 * acos(0.0)
#define endl "\n"
int t, cs = 0;
const int mxn = 2e5 + 3, mod = 1e9 + 7;
int32_t main()
{
//fast
w(t)
{
int n;
cin >> n;
int ar[n + 1];
for(int i = 1; i <= n; i++)cin >> ar[i];
bool vis[n + 1] = {};
int par[n + 1] = {};
int child[n + 1] = {};
int cnt = 0;
for(int i = 1; i <= n; i++)
{
if(vis[i])continue;
cnt++;
int nxt = i;
while(nxt <= n and !vis[nxt])
{
vis[nxt] = true;
int p = nxt + ar[nxt];
if(p <= n)par[nxt] = p, child[p]++;
nxt = p;
}
}
for(int i = 1; i <= n; i++)
{
int a = par[i];
if(child[a] > 1 or !child[a])cout << cnt << " ";
else cout << cnt + 1 <<" ";
}
cout << endl;
}
}