import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) N = int(input()) G = [[] for _ in range(N)] for _ in range(N-1): a, b = map(int, input().split()) a -= 1 b -= 1 G[a].append(b) G[b].append(a) def dfs(r): d = [-1] * N d[r] = 0 que = [r] while que: s = que.pop() for t in G[s]: if d[t] == -1: d[t] = d[s] + 1 que.append(t) return d d1 = dfs(0) r = d1.index(max(d1)) d2 = dfs(r) print(N - max(d2) - 1)