import sys from itertools import permutations from heapq import heappop,heappush from collections import deque import random import bisect input = lambda :sys.stdin.readline().rstrip() mi = lambda :map(int,input().split()) li = lambda :list(mi()) N = int(input()) edge = [[] for v in range(N)] for _ in range(N-1): u,v = mi() edge[u-1].append(v-1) edge[v-1].append(u-1) res = N - 1 tmp2 = 0 for v in range(N): for nv in edge[v]: tmp2 += (len(edge[nv])-1) res += tmp2//2 tmp3 = 0 for v in range(N): for nv in edge[v]: tmp3 += (len(edge[v])-1) * (len(edge[nv])-1) res += tmp3//2 print(res)