#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll read() {
	ll x=0, f=1; char ch=' ';
	while(!isdigit(ch)) {ch=getchar(); if(ch=='-') f=-1;}
	while(isdigit(ch)) x=(x<<3)+(x<<1)+(ch^48), ch=getchar();
	return x*f;
}
const int mod=1e9+7;
int n, ch[205][10], dp[205];
ll ans=0, f[205][205];
vector<int> g[100005];
void dfs(int u, int fa) {
	ch[u][0]=fa, dp[u]=dp[fa]+1;
	for(int v:g[u]) {
		if(v==fa) continue;
		dfs(v, u);
	}
}
int lca(int u, int v) {
	if(dp[u]<dp[v]) swap(u, v);
	for(int i=8;i>=0;i--) {
		if(dp[ch[u][i]]>=dp[v]) u=ch[u][i];
	}
	if(u==v) return u;
	for(int i=8;i>=0;i--) {
		if(ch[u][i]!=ch[v][i]) u=ch[u][i], v=ch[v][i];
	}
	return ch[u][0];
}
ll fpow(ll n, ll m) {
	ll res=1;
	while(m) {
		if(m&1) res=res*n%mod;
		n=n*n%mod;
		m>>=1;
	}
	return res;
}
int main() {
	cin>>n;
	for(int i=1;i<n;i++) {
		int a=read(), b=read();
		g[a].push_back(b);
		g[b].push_back(a);
	}
	for(int i=1;i<=n;i++) f[i][0]=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			f[i][j]=(f[i][j]+f[i-1][j]*fpow(2,mod-2))%mod;
			f[i][j]=(f[i][j]+f[i][j-1]*fpow(2,mod-2))%mod;
		}
	}
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=n;j++) {
			for(int k=0;k<=8;k++) ch[j][k]=0;
		}
		dp[i]=0;
		dfs(i, i);
		for(int k=1;k<=8;k++) {
			for(int j=1;j<=n;j++) {
				ch[j][k]=ch[ch[j][k-1]][k-1];
			}
		} 
		for(int j=1;j<=n;j++) {
			for(int k=j+1;k<=n;k++) {
				int g=lca(j,k);
				ans=(ans+f[dp[j]-dp[g]][dp[k]-dp[g]])%mod; 
			}
		}
	}
	cout<<ans*fpow(n,mod-2)%mod;
}
