#include<bits/stdc++.h>
#define int long long
using namespace std;
struct dot{
int fa,gf,dep,i;
bool operator<(const dot A)const{
return dep>A.dep;
}
}a[1005];
int x1[1005],x2[1005];
map<int,int>dy;
vector<int>G[1005];
signed main()
{
int n,ans=0;
cin>>n;
a[1].dep=a[1].fa=a[1].gf=a[1].i=1;
for(int i=2;i<=n;i++)
{
cin>>a[i].fa;
a[i].gf=a[a[i].fa].fa;
a[i].dep=a[a[i].fa].dep+1;
a[i].i=i;
G[i].push_back(a[i].fa);
G[a[i].fa].push_back(i);
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++) dy[a[i].i]=i;
for(int i=1;i<=n;i++)
{
if(x1[i]||x2[i]) continue;
x1[dy[a[i].gf]]=1;ans++;
for(int x=0;x<G[a[i].gf].size();x++) x2[dy[G[a[i].gf][x]]]=1;
}
cout<<ans;
return 0;
}