#include<bits/stdc++.h>
using namespace std;
int a[1001][1001],n,v[1001],u[1001],num[1001]={0};
int dfs(int x){
if(num[x]==0) return 0;
int ans=-1;
for(int i=1;i<=num[x];i++) ans=max(ans,dfs(a[x][i])+1);
return ans;
}
int main(){
cin >> n;
for(int i=1;i<n;i++){
cin >> u[i] >> v[i];
a[u[i]][num[u[i]]]=v[i];
num[u[i]]++;
}
cout << dfs(0);
return 0;
}