#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define mod 1000000007
#define ll long long
using namespace std;
int n,head[202],tot,fa[202][11],deep[202];
ll n2,nn,f[202][202],ans;
struct node{
	int v,nex;
}e[404];
void add(int u,int v){
	e[++tot].v=v;e[tot].nex=head[u];head[u]=tot;
}
ll ksm(ll x,int a){
	ll A=1;
	for(int i=a;i;i/=2,x=x*x%mod)if(i&1)A=A*x%mod;
	return A;
}
void dfs(int k,int fr){
	fa[k][0]=fr;deep[k]=deep[fr]+1;
	for(int i=head[k];i;i=e[i].nex){
		if(e[i].v!=fr)dfs(e[i].v,k);
	}
}
int lca(int u,int v){
	if(deep[u]<deep[v])swap(u,v);
	for(int i=10;i>=0;i--)if(deep[fa[u][i]]>=deep[v])u=fa[u][i];
	if(u==v)return u;
	for(int i=10;i>=0;i--)if(fa[u][i]!=fa[v][i])u=fa[u][i],v=fa[v][i];
	return fa[u][0];
}
void work(int rt){
//	printf("rt=%d\n",rt);
	dfs(rt,0);
	for(int i=1;i<=10;i++)
	for(int j=1;j<=n;j++)fa[j][i]=fa[fa[j][i-1]][i-1];
	for(int i=1;i<=n;i++)
	for(int j=1;j<i;j++){
		int l=lca(i,j);
//		cout<<i<<' '<<j<<' '<<l<<' '<<f[-deep[l]+deep[i]][-deep[l]+deep[j]]<<endl;
		ans+=f[-deep[l]+deep[j]][-deep[l]+deep[i]];
		ans=ans%mod;
	}
}
int main(){
	scanf("%d",&n);
	for(int i=1,t1,t2;i<n;i++){
		scanf("%d%d",&t1,&t2);
		add(t1,t2);add(t2,t1);
	}
	n2=ksm(2,mod-2),nn=ksm(n,mod-2);
	//f[x][y] y->0 earlier than x->0
	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-1]+f[i-1][j])*n2%mod;
	}
	for(int i=1;i<=n;i++)work(i);
	ans=ans*nn%mod;
	printf("%lld\n",ans);
	return 0;
}

