#include <bits/stdc++.h>

using namespace std;

//begin of def

#define fastio ios_base::sync_with_stdio(false);cin.tie(0)
#define endl '\n'

using lli = long long int;
using ulli = unsigned long long int;
using Ld = long double;
using pii = pair<int, int>;
using pll = pair<lli, lli>;
using pld = pair<Ld, Ld>;
#define X first
#define Y second

#define rep(I, S, E) for(int I = (S); I < (E); I++)
#define repq(I, S, E) for(int I = (S); I <= (E); I++)

#define pb push_back
#define epb emplace_back

#define ALL(X) X.begin(), X.end()

//end of def

const lli MOD = 1e9 + 7;

lli GetPow(lli x, lli n){
    lli ret = 1;
    while(n){
        if(n & 1)
            ret = (ret * x) % MOD;
        x = (x * x) % MOD;
        n >>= 1;
    }
    return ret;
}
lli GetInv(lli x){
    return GetPow(x, MOD - 2);
}

vector<int> e[201];

int lca[201][9];
int dep[201];
void SetLCA(int x, int p = 0){
    dep[x] = dep[p] + 1;
    lca[x][0] = p;
    rep(i, 1, 9)
        lca[x][i] = lca[lca[x][i - 1]][i - 1];
    for(int v : e[x]){
        if(v == p)
            continue;
        SetLCA(v, x);
    }
}

pii GetDist(int x, int y){
    bool sw = false;
    if(dep[x] > dep[y]){
        swap(x, y);
        sw = true;
    }
    int dx = dep[x], dy = dep[y];
    for(int i = 8; i >= 0; i--){
        if(dep[x] <= dep[lca[y][i]])
            y = lca[y][i];
    }
    if(x == y){
        if(sw)
            return {dy - dep[y], 0};
        return {0, dy - dep[y]};
    }

    for(int i = 8; i >= 0; i--){
        if(lca[x][i] != lca[y][i]){
            x = lca[x][i];
            y = lca[y][i];
        }
    }
    x = lca[x][0]; y = lca[y][0];
    if(sw)
        return {dy - dep[y], dx - dep[x]};
    return {dx - dep[x], dy - dep[y]};
}

lli dp[201][201];
lli inv2 = GetInv(2);
lli GetF(int x, int y){
    if(y == 0)
        return 1;
    if(x == 0)
        return 0;
    if(dp[x][y])
        return dp[x][y];
    return dp[x][y] = (GetF(x - 1, y) + GetF(x, y - 1)) * inv2 % MOD;
}

int main(){
    fastio;
    int n;
    cin >> n;
    rep(i, 1, n){
        int a, b;
        cin >> a >> b;
        e[a].pb(b);
        e[b].pb(a);
    }
    lli res = 0;
    lli mul = GetInv(n);
    repq(k, 1, n){
        SetLCA(k);
        repq(i, 1, n){
            repq(j, i + 1, n){
                pii p = GetDist(i, j);
                res += GetF(p.X, p.Y) * mul;
                res %= MOD;
            }
        }
    }
    cout << res;
    return 0;
}