import sys from collections import deque input = sys.stdin.buffer.readline N = int(input()) T = [[] for _ in range(N)] for _ in range(N - 1): u, v = (int(x) - 1 for x in input().split()) T[u].append(v) T[v].append(u) d = deque([0]) dfs_order = [] parent = [None] * N parent[0] = -1 while d: v = d.pop() for x in T[v]: if parent[x] is None: parent[x] = v dfs_order.append((v, x)) d.append(x) subtree = [1] * N for v, x in reversed(dfs_order): subtree[v] += subtree[x] for v in range(N): ans = 0 for x in T[v]: if x == parent[v]: continue ans -= subtree[x] ** 2 ans += subtree[v] ** 2 print(ans)