from collections import deque N = int(input()) P = [int(x) - 1 for x in input().split()] deg = [0] * N f = [0] * N g = [[] for i in range(N)] for i in range(N): if P[i] == -1: continue deg[P[i]] += 1 g[i].append(P[i]) f[i] = 1 dq = deque() dp = [-1] * N for i in range(N): if deg[i] == 0: dq.append(i) dp[i] = 0 while dq: now = dq.popleft() for nxt in g[now]: deg[nxt] -= 1 dp[nxt] = max(dp[nxt], dp[now] + 1) if deg[nxt] == 0: dq.append(nxt) # print(dp, deg, f) print(sum([f[i] == 0 and dp[i] >= 2 for i in range(N)]))