#include<bits/stdc++.h>
#define fr first
#define sc second
#define pb push_back
#define ll long long
#define ull unsigned ll
#define maxheap priority_queue<int>
#define minheap priority_queue<int,vector<int>,greater<int>>
#define all(v) (v).begin(),(v).end()
const  double pi = acos(-1.0);
const  double eps = 1e-9;
using namespace std;

const int N = 200 + 10;
const ll MOD = 1e9 + 7;

ll mult(ll x, ll y){
	x %= MOD;
	y %= MOD;
    return x * y % MOD;
}


ll bin_pow(ll x, ll n){
    ll res = 1;
    while (n){
        if (n & 1) res = mult(res, x);
        n >>= 1;
        x = mult(x, x);
    }
    return res;
}

ll add(ll x, ll y){
    x += y;
    if (x >= MOD) x -= MOD;
    return x;
}

ll sub(ll x, ll y){
    x -= y;
    if (x < 0) x += MOD;
    return x;
}


int n;
vector <int> g[N];
ll dp[N][N];
vector <int> path;
bool used[N];
bool dfs(int v, int p, int finish){
	if (v == finish){
		used[v] = true;
		path.pb(v);
		return true;
	}
	for (int to : g[v]){
		if (to == p){
			continue;
		}
		if (dfs(to, v, finish)){
			used[v] = true;
			path.pb(v);
			return true;
		}
	}
	return false;
}
int cnt;
void dfs2(int v, int p){
	cnt++;
	for (int to : g[v]){
		if (to != p && !used[to]){
			dfs2(to, v);
		}
	}
}
void solve(){ 
	for (int i = 1; i < N; i++){
		dp[i][0] = 1;
	}		
	ll inv = bin_pow(2, MOD - 2);
	for (int i = 1; i < N; i++){
		for (int j = 1; j < N; j++){
			dp[i][j] = add(dp[i - 1][j], dp[i][j - 1]);
			dp[i][j] = mult(dp[i][j], inv);
		}
	}
	cin >> n;
	for (int i = 1; i < n; i++){
		int x, y;
		cin >> x >> y;
		g[x].pb(y);
		g[y].pb(x);
	}
	ll ans = 0;
	ll inv1 = bin_pow(n, MOD - 2);
	for (int v = 1; v <= n; v++){
		for (int u = v + 1; u <= n; u++){
			path.clear();
			for (int i = 1; i <= n; i++){
				used[i] = false;
			}
			dfs(v, v, u);
			reverse(all(path));
			for (int i = 0; i < path.size(); i++){
				cnt = 0;
				dfs2(path[i], path[i]);
				int l = i;
				int r = path.size() - i - 1;
				ll B = dp[l][r];
				ll A = mult(cnt, inv1);
				ans = add(ans, mult(A, B));
			}
		}
	}
	cout << ans << endl;
}   




int main(){
    ios::sync_with_stdio(NULL), cin.tie(0), cout.tie(0);
    cout.setf(ios::fixed), cout.precision(10);
    //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout);
    //freopen("immediate.in","r",stdin); freopen("immediate.out", "w", stdout);
    int step = 1;
    //cin >> step;
    for (int i = 0; i < step; i++){
        solve();
    }
}