output_description: Print the expected holeyness of S, \bmod 10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      A_1 B_1
      :
      A_{N-1} B_{N-1}
attempt: # classを使うのをやめてlistで実施する
  # dfsを再帰でなくstackを用いて書く
  from collections import deque
  import sys
  
  input = sys.stdin.readline
  
  
  def dfs():
      stk1 = deque([0])
      stk2 = deque([])
      while stk1:
          v = stk1.pop()
          visited[v] = True
          stk2.append(v)
          for i in range(len(AL[v][CHILDREN])):
              u = AL[v][CHILDREN][i]
              if visited[u]:
                  AL[v][CHILDREN][i] = None
                  continue
              stk1.append(u)
  
      for i in range(n - 1, -1, -1):
          v = stk2[i]
          for u in AL[v][CHILDREN]:
              if u is None:
                  continue
              AL[v][SIZE] += AL[u][SIZE]
  
  
  def anaaki(v):
      ret = pow(2, n - 1, p) - 1
      for ch in AL[v][CHILDREN]:
          if ch is None:
              continue
          ret -= pow(2, AL[ch][SIZE], p) - 1
          ret %= p
      ret -= pow(2, n - AL[v][SIZE], p) - 1
      ret %= p
      return ret
  
  
  n = int(input())
  SIZE = 0
  CHILDREN = 1
  AL = [[1, []] for _ in range(n)]
  visited = [False] * n
  p = 10**9 + 7
  
  for i in range(n - 1):
      a, b = [int(x) - 1 for x in input().split()]
      AL[a][CHILDREN].append(b)
      AL[b][CHILDREN].append(a)
  
  dfs()
  numer = 0
  for i in range(n):
      numer += anaaki(i)
      numer %= p
  
  denom = pow(2, n, p)
  print(numer * pow(denom, p - 2, p) % p)
  
problem_description: Statement
  
  Given is a tree T with N vertices. The i-th edge connects Vertex A_i and B_i
  (1 \leq A_i,B_i \leq N).
  
  Now, each vertex is painted black with probability 1/2 and white with
  probability 1/2, which is chosen independently from other vertices. Then, let
  S be the smallest subtree (connected subgraph) of T containing all the
  vertices painted black. (If no vertex is painted black, S is the empty graph.)
  
  Let the _holeyness_ of S be the number of white vertices contained in S. Find
  the expected holeyness of S.
  
  Since the answer is a rational number, we ask you to print it \bmod 10^9+7, as
  described in Notes.
samples: [{"input": "3\n    1 2\n    2 3", "output": "125000001\n    \n\nIf the vertices 1, 2, 3 are painted black, white, black, respectively, the\nholeyness of S is 1.\n\nOtherwise, the holeyness is 0, so the expected holeyness is 1/8.\n\nSince 8 \\times 125000001 \\equiv 1 \\pmod{10^9+7}, we should print 125000001.\n\n* * *"}, {"input": "4\n    1 2\n    2 3\n    3 4", "output": "375000003\n    \n\nThe expected holeyness is 3/8.\n\nSince 8 \\times 375000003 \\equiv 3 \\pmod{10^9+7}, we should print 375000003.\n\n* * *"}, {"input": "4\n    1 2\n    1 3\n    1 4", "output": "250000002\n    \n\nThe expected holeyness is 1/4.\n\n* * *"}, {"input": "7\n    4 7\n    3 1\n    2 6\n    5 2\n    7 1\n    2 7", "output": "570312505"}]