#include <iostream>
#include <cstring>
using namespace std;
int a[1001];
bool check[1001];
void dfs(int x) {
check[x] = true;
int next = a[x];
if (check[next] == false) {
dfs(next);
}
}
int main() {
int count, node, result;
scanf("%d", &count);
for (int i = 0; i < count; i++) {
scanf("%d", &node);
memset(a, 0, sizeof(a));
memset(check, false, sizeof(check));
result = 0;
for (int j = 1; j <= node; j++) {
scanf("%d", &a[j]);
}
for (int j = 1; j <= node; j++) {
if (check[j] == false) {
dfs(j);
result++;
}
}
printf("%d\n", result);
}
}