//μ's forever
#include <bits/stdc++.h>
#define mod 1000000007
#define N 205
//#define getchar nc
using namespace std;
inline char nc(){
    static char buf[100000],*p1=buf,*p2=buf;
    return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}
inline int read()
{
    register int x=0,f=1;register char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+ch-'0',ch=getchar();
    return x*f;
}
inline void write(register int x)
{
    if(!x)putchar('0');if(x<0)x=-x,putchar('-');
    static int sta[20];register int tot=0;
    while(x)sta[tot++]=x%10,x/=10;
    while(tot)putchar(sta[--tot]+48);
}
int power(int a,int b){
    int res=1;
    while(b){
        if(b&1) res=1ll*res*a%mod;
        a=1ll*a*a%mod,b>>=1;
    }
    return res;
}
struct node{
    int to,nxt;
}e[N<<1];
int head[N],cnt;
void add(int u,int v){
    e[++cnt]=(node){v,head[u]}; head[u]=cnt;
}
// int n,fa[N],siz[N],dfn[N],dep[N],tot;
// void dfs(int x,int f){
//     siz[x]=1,dfn[x]=++tot,dep[x]=dep[f]+1;
//     for(int i=head[x];i;i=e[i].nxt){
//         int v=e[i].to;
//         if(v==f) continue;
//         dfs(v,x); fa[v]=x;
//         siz[x]+=siz[v];
//     }
// }
// int val[N][N],g[N][N],ans,inv2,cur,inv[N];
// int calc(int x,int y){
//     if(val[x][y]!=-1) return val[x][y];
//     int res=0;
//     if(fa[x]==fa[y]&&((x!=cur&&y!=cur)||(x==cur&&y==cur))) return 1;
//     if(x!=cur&&y!=cur){
//         if(dfn[x]<=dfn[y]&&dfn[y]<=dfn[x]+siz[x]-1) return 1;
//         if(dfn[y]<=dfn[x]&&dfn[x]<=dfn[y]+siz[y]-1) return 1;
//     }
//     if(fa[x]!=x) res=(res+1ll*calc(fa[x],y)*inv2%mod)%mod;
//     if(fa[y]!=y) res=(res+1ll*calc(x,fa[y])*inv2%mod)%mod;
//     val[x][y]=res;
//     return res;
// }
// int calc2(int x,int y){
//     if(g[x][y]!=-1) return g[x][y];
//     g[x][y]=calc(x,y);
//     if(fa[x]!=x&&x!=y) g[x][y]=(g[x][y]+calc2(fa[x],y))%mod;
//     return g[x][y];
// }
int n,cur,lst[N],siz[N],fa[N],dep[N],inv2;
void dfs(int x,int f){
    siz[x]=1; dep[x]=dep[f]+1;
    for(int i=head[x];i;i=e[i].nxt){
        int v=e[i].to;
        if(v==f) continue;
        // if(x==i) lst[v]=v;
        // else lst[v]=lst[x];
        fa[v]=x;
        dfs(v,x);
        siz[x]+=siz[v];
    }
}
int p[N][N],an[N][N];
int ans;
int calc(int x,int y,int a,int b){
    if(x==y) return calc(fa[x],y,a-1,b+1);
    if(x==cur) return 0;
    return (0ll+1ll*(siz[x]-siz[y])*an[a][b]%mod+calc(fa[x],fa[y],a-1,b+1))%mod;
}
int main()
{
    n=read(); inv2=power(2,mod-2);
    for(int i=1;i<n;++i){
        int x=read(),y=read();
        add(x,y),add(y,x);
    }
    p[0][0]=1;
    for(int i=0;i<=n;++i)
        for(int j=0;j<=n;++j){
            if(i!=0)
                p[i][j]=(0ll+p[i][j]+1ll*inv2*p[i-1][j])%mod;
            if(j!=0)
                p[i][j]=(0ll+p[i][j]+1ll*inv2*p[i][j-1])%mod;
        }
            // p[i][j]=(1ll*inv2*p[i-1][j]+1ll*inv2*p[i][j-1])%mod;
    for(int a=1;a<=n;++a)
        for(int b=1;a+b<=n;++b)
            for(int k=0;k<a;++k)
                an[a][b]=(0ll+an[a][b]+1ll*p[k][b-1]*inv2)%mod;
    // cerr<<an[1][1]<<endl;
    for(int i=1;i<=n;++i){
        cur=i;
        dfs(i,0);
        for(int j=i+1;j<=n;++j){
            ans=(0ll+ans+calc(j,j,dep[j]-1,0)+siz[j])%mod;
            // cerr<<i<<" "<<j<<" "<<siz[j]<<" "<<calc(j,j,dep[j]-1,0)<<endl;
        }
    }

    // for(int i=1;i<=n;++i){
    //     cur=i; tot=0;
    //     for(int j=1;j<=n;++j)
    //         for(int k=1;k<=n;++k)
    //             val[j][k]=-1,g[j][k]=-1;
    //     dfs(i,0);
    //     fa[i]=i;
    //     // cerr<<calc(1,3)<<endl;
    //     for(int j=1;j<=n;++j)
    //         for(int k=j+1;k<=n;++k){
    //             if(j==i) continue;
    //             if(k==i){
    //                 ans=(ans+1)%mod;
    //                 continue;
    //             }
    //             if(dfn[j]<=dfn[k]&&dfn[k]<=dfn[j]+siz[j]-1) continue;
    //             if(dfn[k]<=dfn[j]&&dfn[j]<=dfn[k]+siz[k]-1){
    //                 ans=(ans+1)%mod;
    //                 continue;
    //             }
    //             ans=(0ll+ans+1ll*inv2*calc2(fa[j],fa[k])%mod)%mod;
    //             // cerr<<j<<" "<<k<<" "<<1ll*inv2*calc2(fa[j],fa[k])%mod<<endl;
    //         }
    //     // cerr<<calc(1,3)<<endl;
    //     cerr<<calc(1,1)<<" "<<calc(1,2)<<endl;
    //     cerr<<ans<<endl;
    // }
    // // cerr<<13ll*power(4,mod-2)%mod<<endl;
    printf("%d\n",1ll*power(n,mod-2)*ans%mod);
    return 0;
}
