#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<vector<ll>> vll;
ll gcd(ll a, ll b) { for (; b; a %= b, swap(a, b)); return a; }
int dx[4] = { 1, -1, 0, 0 };
int dy[4] = { 0, 0, 1, -1 };
const ll MOD = 1e9 + 7;
ll n;
vector<int> graph[201];
int dist[201];
int par[20][201];

ll mpow(ll a, ll n)
{
	if (n == 0) return 1;
	ll res = mpow(a, n / 2);
	res = res * res % MOD;
	if (n % 2) res = res * a % MOD;
	return res;
}

int lca(int a, int b)
{
	int la = dist[a], lb = dist[b];
	if (la > lb)
	{
		swap(a, b);
		swap(la, lb);
	}
	int d = lb - la;
	for (int k = 0; k < 10; k++)
	{
		if (d & (1 << k))
			b = par[k][b];
	}
	if (a == b) return a;
	for (int k = 9; k >= 0; k--)
	{
		if (par[k][a] == par[k][b]) continue;
		a = par[k][a];
		b = par[k][b];
	}
	return par[0][a];
}

ll dp[201][201];

ll solve(int a, int b)
{
	ll& ret = dp[a][b];
	if (ret != -1) return ret;
	if (a == 0) return ret = 0;
	if (b == 0) return ret = 1;
	ll res1 = solve(a - 1, b);
	ll res2 = solve(a, b - 1);
	return ret = (res1 + res2) % MOD * mpow(2, MOD - 2) % MOD;
}

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	cin >> n;
	memset(dp, -1, sizeof dp);
	for (int i = 0; i <= n; i++) for (int j = 0; j <= n; j++)
		solve(i, j);
	for (int i = 0; i < n - 1; i++)
	{
		int u, v; cin >> u >> v;
		graph[u].push_back(v);
		graph[v].push_back(u);
	}
	ll ans = 0;
	for (int v = 1; v <= n; v++)
	{
		ll res = 0;
		memset(dist, -1, sizeof dist);
		dist[v] = 0; par[0][v] = v;
		queue<int> q; q.push(v);
		while (!q.empty())
		{
			int cv = q.front(); q.pop();
			for (int nv : graph[cv])
			{
				if (dist[nv] != -1) continue;
				dist[nv] = dist[cv] + 1;
				par[0][nv] = cv;
				q.push(nv);
			}
		}
		for (int k = 1; k < 10; k++)
		{
			for (int cv = 1; cv <= n; cv++)
				par[k][cv] = par[k - 1][par[k - 1][cv]];
		}
		for (int va = 1; va <= n; va++)
		{
			for (int vb = va + 1; vb <= n; vb++)
			{
				int ca = va, cb = vb;
				int l = lca(ca, cb);
				ll ta = dist[ca] - dist[l];
				ll tb = dist[cb] - dist[l];
				ll tmp = solve(ta, tb);
				res += tmp; res %= MOD;
			}
		}
		res *= mpow(n, MOD - 2);
		res %= MOD;

		ans += res;
		ans %= MOD;
	}
	cout << ans;
}