from collections import defaultdict, deque N = int(input()) degs = [0] * N adj = defaultdict(list) for _ in range(N-1): U, V = map(lambda x: int(x)-1, input().split()) adj[U].append(V) adj[V].append(U) degs[U] += 1 degs[V] += 1 leaves = [] for i in range(N): if degs[i] == 1: leaves.append(i) def f(w): q = deque() for v in leaves: q.append(deque([v])) used = set() while q: d = q.popleft() hd = d[0] tl = d[-1] # print(f'{d=} {hd=} {tl=}') if len(d) == w: mi = min(hd, tl) ma = max(hd, tl) used.add((mi, ma)) for to in adj[tl]: if len(d) > 1 and d[-2] == to: continue d2 = d.copy() d2.append(to) if len(d2) > w: d2.popleft() q.append(d2) return len(used) ans = f(2) + f(3) + f(4) print(ans)