import sys sys.setrecursionlimit(10**7) N = int(input()) AB = [list(map(int,input().split())) for _ in range(N-1)] L = [[] for _ in range(N)] for a,b in AB: L[a-1].append(b-1) L[b-1].append(a-1) #木の数 DP = [[0]*2 for _ in range(N)] def dfs(i,p): for l in L[i]: if l !=p: dfs(l,i) for l in L[i]: if l !=p: DP[i][0]+=max(DP[l][0]-1,DP[l][1]) DP[i][1]+=max(DP[l]) DP[i][0]+=1 dfs(0,-1) print(max(DP[0]))