#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int MAXN = 200010;
const int mod = 1e9 + 7;

int n;
int res, All;
int pw[MAXN];
int sz[MAXN];
vector<int>to[MAXN];

inline void dfs(int x, int la) {
	sz[x] = 1;
	int sum = 0;
	for(auto u : to[x]) {
		if(u == la) continue;
		dfs(u, x), sz[x] += sz[u];
		sum = (sum + pw[sz[u]] - 1) % mod;
	}
	sum = (sum + pw[n - sz[x]] - 1) % mod;
	sum = (All - 1 + mod - sum) % mod;
	res = (res + sum) % mod;
}

int main() {
    int prd = (mod + 1) >> 1, inv = 1;
    scanf("%d", &n);
    pw[0] = 1;
    for(int i = 1; i <= n; i++) {
    	pw[i] = (pw[i - 1] << 1) % mod;
		inv = 1LL * inv * prd % mod;
	} All = pw[n - 1];
	for(int i = 1; i < n; i++) {
		int u, v;
		scanf("%d%d", &u, &v);
		to[u].push_back(v);
		to[v].push_back(u);
	} dfs(1, 0);
	cout << 1LL * res * inv % mod << endl;
    return 0;
}