//#include <GOD>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;
#define pb push_back
#define len length
#define FAST_IO ios_base::sync_with_stdio(false); cin.tie(NULL);
#define frei freopen("input.txt","r",stdin)
#define freo freopen("output.txt","w",stdout)

const ll inf=1e18;
const ll mod=1e9+7;
const ll maxn=200+10,mlg=8,maxb=2e6+10;

ll n,ans,timer;
ll h[maxn],st[maxn],ft[maxn],anc[maxn][mlg],dp[maxn][maxn];
vector <ll> nei[maxn];

ll power(ll a,ll b){
	if(!b){
		return 1;
	}
	ll c=power(a,b/2);
	if(b%2){
		return c*c%mod*a%mod;
	}else{
		return c*c%mod;
	}
}
void dfs(ll u,ll p){
	st[u]=++timer;
	anc[u][0]=p;
	for(int i=1;i<mlg;i++){
		anc[u][i]=anc[anc[u][i-1]][i-1];
	}
	for(auto v:nei[u]){
		if(v!=p){
			h[v]=h[u]+1;
			dfs(v,u);
		}
	}
	ft[u]=timer;
}
bool ch_anc(ll u,ll v){
	return st[u]<=st[v]&&ft[u]>=ft[v];
}
ll go_up(ll u,ll v){
	for(int i=mlg-1;i>=0;i--){
		if(!ch_anc(anc[u][i],v)){
			u=anc[u][i];
		}
	}
	return u;
}
ll lca(ll u,ll v){
	if(ch_anc(u,v)){
		return u;
	}else if(ch_anc(v,u)){
		return v;
	}else{
		return anc[go_up(u,v)][0];
	}
}
ll dist(ll u,ll v){
	ll lc=lca(u,v);
	return h[u]-h[lc]+h[v]-h[lc];
}
int main(){
    FAST_IO;
	cin>>n;
	for(int i=1;i<=n-1;i++){
		ll u,v;
		cin>>u>>v;
		nei[u].pb(v);
		nei[v].pb(u);
	}
	dfs(1,1);
	ll tmp=power(2,mod-2);
	ll tmpn=power(n,mod-2);
	for(int i=1;i<n;i++){
		dp[0][i]=1;
		dp[i][0]=0;
	}
	for(int i=1;i<n;i++){
		for(int j=1;j<n;j++){
			dp[i][j]=(((dp[i-1][j]+dp[i][j-1])%mod)*tmp)%mod;
		}
	}
	for(int k=1;k<=n;k++){
		h[k]=0;
		timer=0;
		dfs(k,k);
		for(int i=1;i<=n;i++){
			for(int j=i+1;j<=n;j++){
				ll lc=lca(i,j);
				ans+=(tmpn*dp[h[j]-h[lc]][h[i]-h[lc]])%mod;
				ans%=mod;
			}
		}
	}
	cout<<ans<<endl;
}
