#include <bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a),_b=(b); i<=_b; ++i)
#define fi first
#define se second
#define el "\n"
#define pb push_back
#define sz(a) (int)(a).size()
#define FILL(a,x) memset(a,x,sizeof(a))
using namespace std;
typedef long long ll;
typedef pair<int,int> ii;
const int MOD = 1000000007;
ll mod_pow(ll a, ll e){
ll r = 1;
while(e){
if(e&1) r = r*a % MOD;
a = a*a % MOD;
e >>= 1;
}
return r;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n;
if(!(cin >> n)) return 0;
vector<vector<int> > g(n+1);
FOR(i,1,n-1){
int u,v;
cin >> u >> v;
g[u].pb(v);
g[v].pb(u);
}
// freq[d] = number of ordered pairs (u,v) whose distance is d
vector<ll> freq(n,0);
vector<int> dist(n+1);
queue<int> q;
FOR(s,1,n){
FOR(i,1,n) dist[i] = -1;
while(!q.empty()) q.pop();
dist[s] = 0;
q.push(s);
while(!q.empty()){
int u = q.front(); q.pop();
for(int v : g[u]){
if(dist[v] == -1){
dist[v] = dist[u] + 1;
q.push(v);
}
}
}
FOR(v,1,n){
int d = dist[v]; // 0 <= d <= n-1 in a tree
freq[d]++;
}
}
// precompute factorials and inverse factorials up to n-1
vector<ll> fact(n), invfact(n);
fact[0] = 1;
FOR(i,1,n-1) fact[i] = fact[i-1]*i % MOD;
invfact[n-1] = mod_pow(fact[n-1], MOD-2);
for(int i=n-2;i>=0;--i) invfact[i] = invfact[i+1]*(i+1) % MOD;
// nCk with 0<=k<=N<=n-1
auto C = [&](int N, int K)->ll{
if(K<0 || K>N) return 0;
ll res = fact[N] * invfact[K] % MOD * invfact[N-K] % MOD;
return res;
};
// precompute C(n-1, i) and its inverses
vector<ll> Cn1(n), invCn1(n);
FOR(i,0,n-1){
Cn1[i] = C(n-1, i);
invCn1[i] = mod_pow(Cn1[i], MOD-2);
}
// answer for days i = 0 .. n-1
// E_i = sum_{L} freq[L] * C(n-1-L, i) / C(n-1, i)
// all computations done modulo MOD
vector<ll> ans(n);
FOR(i,0,n-1){
ll numer = 0;
FOR(L,0,n-1){
if(n-1-L < i) break; // C(n-1-L,i)=0 for larger i
ll comb = C(n-1-L, i);
numer = (numer + freq[L] % MOD * comb) % MOD;
}
ans[i] = numer * invCn1[i] % MOD;
}
FOR(i,0,n-1){
if(i) cout << ' ';
cout << ans[i];
}
cout << el;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRk9SKGksYSxiKSBmb3IoaW50IGk9KGEpLF9iPShiKTsgaTw9X2I7ICsraSkKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBzeihhKSAoaW50KShhKS5zaXplKCkKI2RlZmluZSBGSUxMKGEseCkgbWVtc2V0KGEseCxzaXplb2YoYSkpCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBwYWlyPGludCxpbnQ+IGlpOwoKY29uc3QgaW50IE1PRCA9IDEwMDAwMDAwMDc7CgpsbCBtb2RfcG93KGxsIGEsIGxsIGUpewpsbCByID0gMTsKd2hpbGUoZSl7CmlmKGUmMSkgciA9IHIqYSAlIE1PRDsKYSA9IGEqYSAlIE1PRDsKZSA+Pj0gMTsKfQpyZXR1cm4gcjsKfQoKaW50IG1haW4oKXsKaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CmNpbi50aWUoTlVMTCk7IGNvdXQudGllKE5VTEwpOwoKaW50IG47CmlmKCEoY2luID4+IG4pKSByZXR1cm4gMDsKCnZlY3Rvcjx2ZWN0b3I8aW50PiA+IGcobisxKTsKRk9SKGksMSxuLTEpewogICAgaW50IHUsdjsKICAgIGNpbiA+PiB1ID4+IHY7CiAgICBnW3VdLnBiKHYpOwogICAgZ1t2XS5wYih1KTsKfQoKLy8gZnJlcVtkXSA9IG51bWJlciBvZiBvcmRlcmVkIHBhaXJzICh1LHYpIHdob3NlIGRpc3RhbmNlIGlzIGQKdmVjdG9yPGxsPiBmcmVxKG4sMCk7CnZlY3RvcjxpbnQ+IGRpc3QobisxKTsKcXVldWU8aW50PiBxOwoKRk9SKHMsMSxuKXsKICAgIEZPUihpLDEsbikgZGlzdFtpXSA9IC0xOwogICAgd2hpbGUoIXEuZW1wdHkoKSkgcS5wb3AoKTsKICAgIGRpc3Rbc10gPSAwOwogICAgcS5wdXNoKHMpOwogICAgd2hpbGUoIXEuZW1wdHkoKSl7CiAgICAgICAgaW50IHUgPSBxLmZyb250KCk7IHEucG9wKCk7CiAgICAgICAgZm9yKGludCB2IDogZ1t1XSl7CiAgICAgICAgICAgIGlmKGRpc3Rbdl0gPT0gLTEpewogICAgICAgICAgICAgICAgZGlzdFt2XSA9IGRpc3RbdV0gKyAxOwogICAgICAgICAgICAgICAgcS5wdXNoKHYpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgRk9SKHYsMSxuKXsKICAgICAgICBpbnQgZCA9IGRpc3Rbdl07ICAgICAgICAgICAvLyAwIDw9IGQgPD0gbi0xIGluIGEgdHJlZQogICAgICAgIGZyZXFbZF0rKzsKICAgIH0KfQoKLy8gcHJlY29tcHV0ZSBmYWN0b3JpYWxzIGFuZCBpbnZlcnNlIGZhY3RvcmlhbHMgdXAgdG8gbi0xCnZlY3RvcjxsbD4gZmFjdChuKSwgaW52ZmFjdChuKTsKZmFjdFswXSA9IDE7CkZPUihpLDEsbi0xKSBmYWN0W2ldID0gZmFjdFtpLTFdKmkgJSBNT0Q7CmludmZhY3Rbbi0xXSA9IG1vZF9wb3coZmFjdFtuLTFdLCBNT0QtMik7CmZvcihpbnQgaT1uLTI7aT49MDstLWkpIGludmZhY3RbaV0gPSBpbnZmYWN0W2krMV0qKGkrMSkgJSBNT0Q7CgovLyBuQ2sgd2l0aCAwPD1rPD1OPD1uLTEKYXV0byBDID0gWyZdKGludCBOLCBpbnQgSyktPmxsewogICAgaWYoSzwwIHx8IEs+TikgcmV0dXJuIDA7CiAgICBsbCByZXMgPSBmYWN0W05dICogaW52ZmFjdFtLXSAlIE1PRCAqIGludmZhY3RbTi1LXSAlIE1PRDsKICAgIHJldHVybiByZXM7Cn07CgovLyBwcmVjb21wdXRlIEMobi0xLCBpKSBhbmQgaXRzIGludmVyc2VzCnZlY3RvcjxsbD4gQ24xKG4pLCBpbnZDbjEobik7CkZPUihpLDAsbi0xKXsKICAgIENuMVtpXSA9IEMobi0xLCBpKTsKICAgIGludkNuMVtpXSA9IG1vZF9wb3coQ24xW2ldLCBNT0QtMik7Cn0KCi8vIGFuc3dlciBmb3IgZGF5cyBpID0gMCAuLiBuLTEKLy8gRV9pID0gc3VtX3tMfSBmcmVxW0xdICogQyhuLTEtTCwgaSkgLyBDKG4tMSwgaSkKLy8gYWxsIGNvbXB1dGF0aW9ucyBkb25lIG1vZHVsbyBNT0QKdmVjdG9yPGxsPiBhbnMobik7CkZPUihpLDAsbi0xKXsKICAgIGxsIG51bWVyID0gMDsKICAgIEZPUihMLDAsbi0xKXsKICAgICAgICBpZihuLTEtTCA8IGkpIGJyZWFrOyAvLyBDKG4tMS1MLGkpPTAgZm9yIGxhcmdlciBpCiAgICAgICAgbGwgY29tYiA9IEMobi0xLUwsIGkpOwogICAgICAgIG51bWVyID0gKG51bWVyICsgZnJlcVtMXSAlIE1PRCAqIGNvbWIpICUgTU9EOwogICAgfQogICAgYW5zW2ldID0gbnVtZXIgKiBpbnZDbjFbaV0gJSBNT0Q7Cn0KCkZPUihpLDAsbi0xKXsKICAgIGlmKGkpIGNvdXQgPDwgJyAnOwogICAgY291dCA8PCBhbnNbaV07Cn0KY291dCA8PCBlbDsKCnJldHVybiAwOwoKfQo=