ans = 0
def dfs(x, fa):
global ans, e, d
for y in e[x]:
if y == fa:
continue
dfs(y, x)
ans = max(ans, d[x] + d[y] + 1)
d[x] = max(d[x], d[y] + 1)
n = int(input())
e = [[] for _ in range(n + 1)]
d = [0] * (n + 1)
for _ in range(n - 1):
a, b = map(int, input().split())
e[a].append(b)
e[b].append(a)
dfs(1, -1)
print(ans)