#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

const int MAXN=220;
const ll mod=1e9+7;
int n,siz[MAXN],dsum[MAXN];
ll ans,inv[MAXN],dp[MAXN][MAXN];
vector<int> e[MAXN];

ll powmod(ll x,ll p)
{
	ll ret=1;
	while(p)
	{
		if(p&1)
			ret=ret*x%mod;
		x=x*x%mod;
		p>>=1;
	}
	return ret;
}

void dfs1(int x,int fa)
{
	siz[x]=1;
	for(int i=0;i<e[x].size();i++)
	{
		int son=e[x][i];
		if(son==fa)
			continue;
		dfs1(son,x);
		siz[x]+=siz[son];
	}
}

ll frac(ll x,ll y)
{
	return x*inv[y]%mod;
}

void dfs2(int x,int fa,int d,int root)
{
	if(x<root)
	{
		for(int i=0;i<=d-1;i++)
			ans=(ans+frac(dsum[i],n)*dp[i][d-i]%mod)%mod;
	}
	for(int i=0;i<e[x].size();i++)
	{
		int son=e[x][i];
		if(son==fa)
			continue;
		dsum[d]=siz[x]-siz[son];
		dfs2(son,x,d+1,root);
	}
}

int main()
{
	int i,j,x,y;
	for(i=1;i<MAXN;i++)
		inv[i]=powmod(i,mod-2);
	dp[0][0]=1;
	for(i=1;i<MAXN;i++)
	{
		dp[0][i]=1;
		dp[i][0]=0;
	}
	for(i=1;i<MAXN;i++)
		for(j=1;j<MAXN;j++)
			dp[i][j]=(dp[i-1][j]+dp[i][j-1])*inv[2]%mod;
	scanf("%d",&n);
	for(i=1;i<n;i++)
	{
		scanf("%d%d",&x,&y);
		e[x].push_back(y);
		e[y].push_back(x);
	}
	ans=0;
	for(i=1;i<=n;i++)
	{
		dfs1(i,-1);
		dfs2(i,-1,0,i);
	}
	printf("%lld\n",ans);
}
