#include <bits/stdc++.h>
#include <typeinfo>
#include <stdlib.h>
#include <cxxabi.h>
using ll = long long;
using namespace std;

const int mod = 1e9 + 7;
const int N = 211;
int g[N][N], n;
ll p[N][N], ans = 0;

ll qpow(ll a, ll b) {
	ll ans = 1;
	while (b) {
		if (b & 1) 
			ans = ans * a % mod;
		a = a * a % mod;
		b >>= 1;
	}
	return ans;
}

void solve() {
	scanf("%d", &n);
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= n; ++j) {
			if (i != j)
				g[i][j] = n << 1;
		}
	}
	
	for (int i = 0, u, v; i < n - 1; ++i) {
		scanf("%d%d", &u, &v);
		g[u][v] = g[v][u] = 1;
	}
	ll inv2 = qpow(2, mod - 2);
	ll invn = qpow(n, mod - 2);
	//cerr << inv2 << " " << invn << "\n";
	//cerr << "here" << endl;
	for (int k = 1; k <= n; ++k) {
		for (int i = 1; i <= n; ++i) {
			for (int j = 1; j <= n; ++j) 
				g[i][j] = min(g[i][j], g[i][k] + g[k][j]);
		}
	}
	for (int i = 1; i <= n; ++i)
		p[i][0] = 1;
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= n; ++j) {
			p[i][j] = inv2 * (p[i - 1][j] + p[i][j - 1]) % mod;
		}
	}
	for (int i = 1; i <= n; ++i) {
		for (int j = i + 1; j <= n; ++j) {
			for (int k = 1; k <= n; ++k) {
				int x= (g[i][j] + g[i][k] - g[j][k]) >> 1;
				ans = (ans + p[x][g[i][j] - x]) % mod;
				
			}
		}
	}
	ans = ans * invn % mod;
	printf("%lld\n", ans);
}

int main() {
	solve();
	return 0;
}

//~ int main() {
	//~ int a = 10, b = 11;
	//~ long long c = 9982443533;
	//~ __int128 k = 666;
	
	//~ cout<<typeid(a).name()<<" => "<<abi::__cxa_demangle(typeid(a).name(), NULL, NULL, NULL)<<endl;
	//~ cout<<typeid(ll(a + b)).name()<<" => "<<abi::__cxa_demangle(typeid(ll(a + b)).name(), NULL, NULL, NULL)<<endl;
	//~ cout<<typeid(c).name()<<" => "<<abi::__cxa_demangle(typeid(c).name(), NULL, NULL, NULL)<<endl;
	//~ cout<<typeid(k).name()<<" => "<<abi::__cxa_demangle(typeid(k).name(), NULL, NULL, NULL)<<endl;
	
	//~ cout << typeid(k).name() << endl;
	//~ return 0;
//~ }
