#include "bits/stdc++.h"

using namespace std;
#define Mod (1000000007LL)

int T;
int n;
int d[220];
map<int, int> F;
int u, v;
int pre[220];
vector<int> e[220];
int LCA[220][220];
vector<pair<int, int>> qi;


long long dp[220][220];

long long ans;

long long pow_(long long x, long long k){
    long long res = 1;

    while(k){
        if(k&1) res = res * x % Mod;
        x = x * x % Mod;
        k >>= 1;
    }

    return res;
}

long long inv(long long x){
    return pow_(x, Mod-2LL);
}

/*int fa(int x, int dep){
    if(d[x]==dep) return x;

    int up = d[x] - dep;
    int up_bit = F[(up-1) & up];

    return fa(pre[x][up_bit], dep);
}*/

int lca(int x, int y){
    return LCA[x][y];

    /*int L, R, mid;
    L = 0;
    R = min(d[x], d[y]) + 1;

    int idx0, idx1;
    while(L+1<R){
        mid = (L+R) / 2;
        idx0 = fa(x, mid);
        idx1 = fa(y, mid);

        if(idx0 == idx1) L = mid;
        else R = mid;
    }

    return fa(x, L);*/
}

void dfs(int id, int prev_, int dep){
    qi.push_back(make_pair(dep, id));
    d[id] = dep;
    pre[id] = prev_;

    int nxt;
    for(int i=0;i<e[id].size();i++){
        nxt = e[id][i];
        if(nxt == prev_) continue;
        dfs(nxt, id, dep+1);
    }
}

int main(){
    F.clear();
    int tot = 0;
    for(int i=1;i<300;i++){
        F[i] = tot++;
    }

    for(int i=0;i<200;i++)
        dp[i][0] = 1;
    for(int i=1;i<200;i++)
    for(int j=1;j<200;j++){
        dp[i][j] = (dp[i-1][j] + dp[i][j-1]) * (Mod+1LL)/2LL % Mod;
    }

    while(~scanf("%d",&n)){
        for(int i=0;i<n;i++)
            e[i].clear();

        for(int i=1;i<n;i++){
            cin >> u >> v;
            u--;
            v--;
            e[u].push_back(v);
            e[v].push_back(u);
        }

        long long basic = inv(n);
        ans = 0;
        for(int i=0;i<n;i++){
            qi.clear();
            dfs(i, -1, 0);

            sort(qi.begin(), qi.end());

            int idx;
            for(int k=1;k<n;k++){
                for(int j=0;j<k;j++){
                    if(qi[j].second==pre[qi[k].second]) idx = qi[j].second;
                    else idx = LCA[qi[j].second][pre[qi[k].second]];
                    LCA[qi[k].second][qi[j].second] = LCA[qi[j].second][qi[k].second] = idx;
                }
            }


            for(int k1=0;k1<n;k1++)
            for(int k2=k1+1;k2<n;k2++){
                idx = lca(k1, k2);
                //if(idx!=k1){
                    ans += dp[d[k1] - d[idx]][d[k2] - d[idx]];
                    //cout << i <<": "<< k1 <<" " << k2 <<" " << idx<< " "<<dp[d[k1] - d[idx]][d[k2] - d[idx]]<<endl;
                //}

            }
        }
        ans %= Mod;
        ans *= basic;
        ans %= Mod;
        cout << ans<<endl;
    }
    return 0;
}
