#include<bits/stdc++.h>
using namespace std;
int tree[1000100];
int n,maxx=INT_MIN;
int main(){
cin>>n;
tree[1]=1;
for(int i=1;i<=n;i++){
int l,r;
cin>>l>>r;
if(l) tree[l]=tree[i]+1;
if(r) tree[r]=tree[i]+1;
maxx=max(maxx,tree[l]);
maxx=max(maxx,tree[r]);
}
cout<<maxx;
return 0;
}