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)