from collections import deque N = int(input()) arr = [[] for _ in range(N+1)] check = [False]*(N+1) for _ in range(N-1): A,B = map(int,input().split()) arr[A].append(B) check[B] = True for i in range(1,N+1): if check[i]: continue root = i break que = deque([(root,0)]) dist = [0]*(N+1) while que: r,d = que.pop() if arr[r] == []: continue d += 1 for i in arr[r]: dist[i] = d que.append((i,d)) ans = 0 MOD = 10**9+7 for d in dist: ans += d*(d+1)//2 ans %= MOD print(ans)