import sys input = lambda: sys.stdin.readline().rstrip() sys.setrecursionlimit(10**6) import pypyjit pypyjit.set_param('max_unroll_recursion=-1') ################## n = int(input()) G = [[] for _ in range(n)] for _ in range(n-1): u, v = map(int, input().split()) u -= 1 v -= 1 G[u].append(v) G[v].append(u) dp = [[0, 0] for _ in range(n)] def dfs(p, v): ch0, ch1 = 0, 0 for x in G[v]: if x == p: continue dfs(v, x) ch0 += max(dp[x][0], dp[x][1]) ch1 += max(dp[x][0], dp[x][1]-1) dp[v][0] = ch0 dp[v][1] = ch1 + 1 dfs(-1, 0) # print(*dp) print(max(dp[0]))