n=int(input())
tree=[[0,0,0]for k in range(n+1)]
tree[1][0]=1
for i in range(1,n+1):
tree[i][0]=i
temp=input().split()
tree[i][1],tree[i][2]=int(temp[0]),int(temp[1])
def height(tree,node):
if tree[node][1]==tree[node][2]==0:
return 0;
lh = height(tree,tree[node][1]);
rh = height(tree,tree[node][2]);
return max(lh,rh)+1
print(height(tree,1)+1)