#include <bits/stdc++.h>
using namespace std;
int a[201000];
int b[201000];
int ddd(int q, int noww, int num) {
  if (q == noww) return num;
  b[noww] = ddd(q, a[noww], num + 1);
  return b[noww];
}
int main(void) {
  int i, j, n, t, an;
  scanf("%d", &t);
  while (t--) {
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
    }
    memset(b, 0, sizeof(b));
    for (i = 1; i <= n; i++) {
      if (!b[i]) b[i] = ddd(i, a[i], 1);
    }
    for (i = 1; i < n; i++) {
      printf("%d ", b[i]);
    }
    printf("%d\n", b[i]);
  }
  return 0;
}
