N = gets.to_i
ABs = readlines.map{|l| l.split.map(&:to_i)}
M = 10**9 + 7
I2 = (M + 1)/2

@g = ABs.each_with_object(Array.new(N + 1){[]}){|(a, b), h| h[a] << b; h[b] << a}
st, pr, od = [1], [nil, 0], []
while !st.empty?
  od.unshift(u = st.pop)
  @g[u].each do |v|
    next if v == pr[u]
    pr[v] = u
    st << v
  end
end
sz = od.each_with_object(Array.new(N + 1, 1)){|v, o| o[pr[v]] += o[v]}
i2 = N.times.each_with_object([1]){|i, o| o << o.last * I2 % M}
I2N = i2[N]
puts (sz.drop(1).inject(0){|s, x| (s + (1 - i2[x] - i2[N - x] + I2N)) % M} - N*I2 - I2N + 1) % M