#include <bits/stdc++.h>
using namespace std;
 
#define M1 1000000007
#define M2 998244353
#define INF 1e18
#define ll long long
#define pll pair<ll,ll>
#define REP(i,a,b) for(ll i=a;i<b;i++)
#define REPR(i,a,b) for(ll i=b-1;i>=a;i--)
#define forr(i,n) for(ll i=0;i<n;i++)
#define F first
#define S second
#define pb push_back
#define DB pop_back
#define mp make_pair
#define MT make_tuple
#define V(a) vector<a>
#define vi vector<int>
#define vlli vector <long long>
#define endl '\n'
#define ce(ele) cout<<ele<<' '
#define cs(ele) cout<<ele<<'\n'
#define CASE(t) ll t; cin>>t; while(t--)
 
/********************************************************************/
const double pi = 3.1415926535;
/********************************************************************/
//FAST IO//
void FAST() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
}
 
vector <int> adj[204];

int dist[204][204];

int Boss[204][204][15];

void DistFiller(int ind, int par, int root, int d)
{
  dist[root][ind]=d;
  Boss[root][ind][0]=par;
  
  for (auto c: adj[ind])
  {
    if (c!=par)
    {
      DistFiller(c, ind, root, d+1);
    }
  }
  
}

int Lift(int x, int k, int root)
{
	int m=ceil( log(k)/log(2));
		int ind=x;
		for (int j=0; j<m+1; j++)
		{
			int w=1<<j; w= w&k; 
			if (w==0){continue;}
			else if (ind==-1){break;}
			else {	ind=Boss[root][ind][j]; 	 }
			
		}
		return ind;
}

int LCA2(int x, int y, int root)
{
	int flag=0;
	while (flag !=1)
	{
		int lim=0;
		if (Boss[root][x][0]==Boss[root][y][0]){ flag=1; return Boss[root][x][0]; break;}
		else
		{
			while (Boss[root][x][lim]!=Boss[root][y][lim] && Boss[root][x][lim]!=-1) 
			{
				lim+=1;
			}
			lim--;
			x=Boss[root][x][lim];
			y=Boss[root][y][lim];
		}
	}
}


int LCA(int x, int y, int root)
{
  int count=0;
  if (dist[root][x]> dist[root][y])
		{
			int k=dist[root][x]-dist[root][y]; 
			count+=k;
			x= Lift(x, k, root);
		}
		else if (dist[root][x] < dist[root][y])
		{
			int k=-dist[root][x]+dist[root][y];
			count+=k;
			y=Lift(y,k, root);
		}
		
		if (x==y){return x; }
		
		else{
		  
		 int ans=LCA2(x,y, root);
		  return ans;
		 //cout<<count<<endl;
		}
}

ll modI(ll a, ll m) {
    ll m0 = m, y = 0, x = 1;
    if (m == 1) return 0;
    while (a > 1) {
        ll q = a / m;
        ll t = m;
        m = a % m;
        a = t;
        t = y;
        y = x - q * y;
        x = t;
    }
    if (x < 0) x += m0;
    return x;
}

ll int dp[205][205];
ll int DpFiller(int i, int j)
{
  if (dp[i][j]!=-1){return dp[i][j]; }
  else 
  {
    if (i==0){dp[i][j]=0; return 0; }
    if (j==0){dp[i][j]=1; return 1; }
    
    ll temp=DpFiller(i-1,j)+DpFiller(i, j-1);
    temp%=M1;
    temp*=modI(2, M1);
    temp%=M1;
    temp+=M1;
    temp%=M1;
    dp[i][j]=temp;
    return temp; 
  }
}

/********************************************************************/
int main()
{
    FAST();
   ll int n; cin>>n;
        
   for (int i=0; i<n-1; i++)
   {
          int x,y; cin>>x>>y;
          adj[x].pb(y);
          adj[y].pb(x);
   }
   
   
   memset(dp, -1, sizeof(dp));
    
  for (int k=1; k<=n; k++)
  {
    DistFiller(k, -1, k, 0);
    
    Boss[k][k][0]=-1;
	  //filling boss array
	  for (int j=1; j<=log(n)/log(2); j++)
	  {
		  for (int i=1; i<=n; i++)
		  {
			  if (Boss[k][i][j-1]==-1) {Boss[k][i][j]=-1; }
			  
			  else {Boss[k][i][j]=Boss[k][Boss[k][i][j-1]][j-1];}
		  }
	  }
	  
  	for (int i=1; i<=n; i++)
  	{
  		for (int j=1; j<=log(n)/log(2)+2; j++)
  		{
  			if (Boss[k][i][j]==-1)
  			{
  				Boss[k][i][j+1]=-1;
  			}
  		}
  	}
  	
  }

 
  ll int ans=0;
  for (int i=1; i<=n; i++)
  {
    for (int j=i+1; j<=n; j++)
    {
      ll int sum=0;
      //probability of j appearing before i
      
      for (int k=1; k<=n; k++)
      {
        //root is k
        
        //find LCA(i,j) considering root k
        ll int z=LCA(i,j, k);
        
        //cout<<i<<" HE "<<j<<" "<<k<<endl;
       
        
        ll xx=dist[z][i];
        ll yy=dist[z][j];
        
        xx=DpFiller(xx, yy);
        
        if (xx<0){cout<<"HEHE"; }
        
        sum+= xx;
        sum%=M1;
      }
      
      ll aa=modI(n, M1);
      sum*=aa;
      sum%=M1;
      ans+=sum;
      ans%=M1;
    }
  }


  //cout<<dist[2][5]<<endl;  
  //cout<<Boss[6][3][2]<<endl;
  //cout<<LCA(3, 6, 4)<<endl;
  
  cout<<ans<<endl;
}
