#!/usr/bin/python3 # Vrací nejmenší počet (s hlídačem v kořeni, bez hlídače v kořeni) def vyres(koren): synove = S[koren] if not synove: #list return 1, 0 else: rek = [ vyres(s) for s in synove ] s_hlidacem = 1 + sum( min(x) for x in rek ) bez_hlidace = sum( x[0] for x in rek ) return s_hlidacem, bez_hlidace def nacti(): global N, S N = int(input()) S = {} # Synové každého vrcholu for i in range(1, N): # Když strom zakořeníme ve vrcholu 0, čísla na vstupu # jsou právě rodiče každého vrcholu (rozmyslete si). p = int(input()) if p not in S: S[p] = [] S[p].append(i) nacti() nejmene_s, nejmene_bez = vyres(0) print(min(nejmene_s, nejmene_bez))