#include <bits/stdc++.h>
using namespace std;
const int N = 100 + 10, mod = 1e9 + 7;
int rd() {
  int x = 0, w = 1;
  char ch = 0;
  while (ch < '0' || ch > '9') {
    if (ch == '-') w = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = x * 10 + (ch ^ 48);
    ch = getchar();
  }
  return x * w;
}
void ad(int &x, int y) { x += y, x -= x >= mod ? mod : 0; }
int to[N << 1], nt[N << 1], hd[N], tot = 1;
void adde(int x, int y) {
  ++tot, to[tot] = y, nt[tot] = hd[x], hd[x] = tot;
  ++tot, to[tot] = x, nt[tot] = hd[y], hd[y] = tot;
}
int n, f[N][N][N], g[N][N], h[N], c[N][N], inv[N], sz[N];
void dfs(int x, int ffa) {
  sz[x] = 1;
  for (int i = hd[x]; i; i = nt[i]) {
    int y = to[i];
    if (y == ffa) continue;
    dfs(y, x);
  }
  f[x][1][1] = n;
  for (int i = hd[x]; i; i = nt[i]) {
    int y = to[i];
    if (y == ffa) continue;
    for (int p = 0; p <= sz[x] + sz[y]; ++p)
      memset(g[p], 0, sizeof(int) * (sz[x] + sz[y] + 1));
    for (int j = 1; j <= sz[x]; ++j)
      for (int k = 1; k <= sz[x]; ++k)
        for (int p = 1; p <= sz[y]; ++p)
          for (int q = 1; q <= sz[y]; ++q) {
            ad(g[j + p][k + q - 1], 1ll * f[x][j][k] * f[y][p][q] % mod *
                                        inv[p] % mod * inv[n] % mod);
            ad(g[j][k + q], 1ll * f[x][j][k] * f[y][p][q] % mod);
          }
    sz[x] += sz[y];
    for (int p = 0; p <= sz[x]; ++p)
      memcpy(f[x][p], g[p], sizeof(int) * (sz[x] + 1));
  }
  for (int i = 1; i <= sz[x]; ++i)
    for (int j = 1; j <= sz[x]; ++j) f[x][i][j] = 1ll * f[x][i][j] * i % mod;
}
int main() {
  n = rd();
  for (int i = 1; i < n; ++i) adde(rd(), rd());
  inv[0] = inv[1] = 1;
  for (int i = 2; i <= n; ++i)
    inv[i] = (mod - 1ll * mod / i * inv[mod % i] % mod) % mod;
  dfs(1, 0);
  for (int j = 1; j <= n; ++j)
    for (int k = 1; k <= n; ++k)
      ad(h[n - k], 1ll * f[1][j][k] * inv[n] % mod * inv[n] % mod);
  for (int i = 0; i <= n; ++i) {
    c[i][0] = 1;
    for (int j = 1; j <= i; ++j)
      c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % mod;
  }
  for (int i = 0; i < n; ++i) {
    int ans = 0;
    for (int j = i; j <= n; ++j) {
      int x = 1ll * c[j][i] * h[j] % mod;
      ad(ans, ((j - i) & 1) ? mod - x : x);
    }
    printf("%d ", ans);
  }
  return 0;
}
