N = int(input()) P = list(map(int, input().split())) g = [list() for i in range(N)] g_rev = [list() for i in range(N)] for i in range(N): if P[i] != 0: g[P[i] - 1].append(i) g_rev[i].append(P[i]-1) depth = [-1] * N ans = 0 def dfs(v, d=0, pre=-1): depth[v] = d for u in g[v]: if u == pre: continue dfs(u, d + 1, pre=v) for i in range(N): if P[i] == 0: dfs(i) is_ss = [False] * N ans = 0 for i in range(N): if depth[i] >= 2: j = P[P[i] - 1]-1 is_ss[j] = True ans = sum(is_ss) print(ans)