贪心
#include <bits/stdc++.h>
#define ll long long
using namespace std;
typedef pair<int,int>PII;
const int N=1e5+10;
int n,m,ecnt;
int head[N];
struct node{
int u,v,next;
}E[N];
void add(int u,int v){
E[++ecnt].u=u;
E[ecnt].v=v;
E[ecnt].next=head[u];
head[u]=ecnt;
}
int dfs(int u){
int hmax=0,cnt=0;
for(int i=head[u];i;i=E[i].next){
int v=E[i].v;
hmax=max(hmax,dfs(v));
cnt++;
}
return hmax+cnt;
}
int main(int argc, char** argv) {
cin>>n;
for(int i=2;i<=n;i++){
int v;
cin>>v;
add(v,i);
}
cout<<dfs(1)<<endl;
return 0;
}