l=[]
r=[]
ansss=0
def find(now,ans):
# print(now,ans)
global ansss
if l[now]!=0:
find(l[now],ans+1)
if r[now]!=0 :
find(r[now],ans+1)
ansss=max(ans,ansss)
n=int(input())
l.append(0)
r.append(0)
for i in range(0,n):
Ai=input()
yyq=[int(i) for i in Ai.split()]
l.append(yyq[0])
r.append(yyq[1])
find(1,1)
print(ansss)