from collections import deque MOD = 10**9 + 7 inpl = lambda: list(map(int,input().split())) N = int(input()) children = [set() for _ in range(N)] parent = [None] * N for _ in range(N-1): A, B = inpl() A, B = A-1, B-1 children[A].add(B) parent[B] = A depth=[-1]*N root = parent.index(None) ans = 0 pool = deque([root]) depth[root]=0 while pool: node = pool.popleft() ans += depth[node] * (depth[node]+1) // 2 for c in children[node]: if depth[c]!=-1:continue depth[c]=depth[node]+1 pool.append(c) print(ans%MOD)