import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline ans = [] for t in range(int(input())) : n, selet = int(input()), [0] + list(map(int, input().split())) visited = [False] * (n+1) finished = [False] * (n+1) ans.append(n) def dfs(now) : visited[now] = True next = selet[now] if not visited[next] : dfs(next) else : if not finished[next] : temp = next while temp != now : ans[t] -= 1 temp = selet[temp] ans[t] -= 1 finished[now] = True for i in range(1, n+1) : if not visited[i] : dfs(i) print('\n'.join(list(map(str, ans))))