#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 202;
const ll mod = 1e9+7;
int n;ll F[N][N];
int f[N][10],LCA[N][N],d[N];
vector<int> G[N];
ll qpow(ll a,ll b){
	if(b==0) return 1ll;
	ll p = qpow(a,b/2);
	p = p*p%mod;
	if(b&1) p = p * a %mod;
	return p;
}
void dfs(int x,int fa){
	f[x][0]=fa;
	d[x]=d[fa]+1;
	for(auto p:G[x]){
		if(p==fa) continue;
		dfs(p,x);
	}
}
int getlca(int x,int y){
	if(d[x]<d[y])
		std::swap(x,y);
	for(int i=9;i+1;--i)
		if(d[f[x][i]]>=d[y])
			x=f[x][i];
	
	if(x==y) return x;
	for(int i=9;i+1;--i){
		if(f[x][i]!=f[y][i])
			x=f[x][i],y=f[y][i];
	}
	return f[x][0];
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n-1;++i){
		int a,b;
		scanf("%d%d",&a,&b);
		G[a].push_back(b);
		G[b].push_back(a);
	}
	for(int i=1;i<=n;++i) F[0][i]=1;
	ll inv2 = qpow(2,mod-2);
	for(int i=1;i<=n;++i)
		for(int j=1;j<=n;++j)
			F[i][j] = (F[i-1][j]+F[i][j-1])*inv2%mod;
	ll ans = 0 ;
	for(int i=1;i<=n;++i){
		memset(f,0,sizeof f);
		memset(d,0,sizeof d);
		dfs(i,0);
		for(int j=1;j<10;++j){
			for(int k=1;k<=n;++k)
				f[k][j]=f[f[k][j-1]][j-1];
		}
		for(int i=1;i<=n;++i){
			for(int j=1;j<i;++j){
				int lca = getlca(i,j);
				ans = (ans + F[d[i]-d[lca]][d[j]-d[lca]])%mod;
			}
		}
	}
	printf("%lld\n",ans*qpow(n,mod-2)%mod);
	return 0;
}