#include <bits/stdc++.h>
using namespace std;
int fir[105], to[2 * 105], nxt[2 * 105], cnt;
void adde(int a, int b) {
  to[++cnt] = b;
  nxt[cnt] = fir[a];
  fir[a] = cnt;
  to[++cnt] = a;
  nxt[cnt] = fir[b];
  fir[b] = cnt;
}
const int mod = 1000000007;
int ksm(int x, int y) {
  int ret = 1;
  if (y < 0) return ret;
  while (y) {
    if (y & 1) ret = 1ll * ret * x % mod;
    y >>= 1;
    x = 1ll * x * x % mod;
  }
  return ret;
}
int fac[105], finv[105];
void shai() {
  fac[0] = fac[1] = 1;
  for (int i = 2; i <= 100; i++) fac[i] = 1ll * fac[i - 1] * i % mod;
  finv[100] = ksm(fac[100], mod - 2);
  for (int i = 100; i >= 1; i--) finv[i - 1] = 1ll * finv[i] * i % mod;
}
int C(int x, int y) { return 1ll * fac[x] * finv[y] % mod * finv[x - y] % mod; }
int siz[105], g[105], f[105][105][2], tmp[105][2];
void dfs(int u, int ff) {
  siz[u] = 1;
  f[u][0][1] = f[u][0][0] = 1;
  for (int v, p = fir[u]; p; p = nxt[p]) {
    if ((v = to[p]) != ff) {
      dfs(v, u);
      for (int i = 0; i < siz[u] + siz[v]; i++) tmp[i][0] = tmp[i][1] = 0;
      for (int i = 0; i < siz[u]; i++) {
        for (int j = 0; j < siz[v]; j++) {
          tmp[i + j][0] =
              (1ll * tmp[i + j][0] + 1ll * f[u][i][0] * f[v][j][0]) % mod;
          tmp[i + j][1] = (1ll * tmp[i + j][1] + 1ll * f[u][i][0] * f[v][j][1] +
                           1ll * f[u][i][1] * f[v][j][0]) %
                          mod;
          tmp[i + j + 1][0] =
              (1ll * tmp[i + j + 1][0] + 1ll * f[u][i][0] * f[v][j][1]) % mod;
          tmp[i + j + 1][1] =
              (1ll * tmp[i + j + 1][1] + 1ll * f[u][i][1] * f[v][j][1]) % mod;
        }
      }
      siz[u] += siz[v];
      for (int i = 0; i < siz[u]; i++)
        f[u][i][0] = tmp[i][0], f[u][i][1] = tmp[i][1];
    }
  }
}
int main() {
  shai();
  int n, i, j, u, v;
  scanf("%d", &n);
  for (i = 1; i < n; i++) {
    scanf("%d%d", &u, &v);
    adde(u, v);
  }
  dfs(1, 0);
  g[0] = 1;
  for (i = 1; i < n; i++) g[i] = 1ll * ksm(n, i - 1) * f[1][i][1] % mod;
  for (i = 0; i < n; i++)
    for (j = 0; j < i; j++)
      g[i] = (g[i] + mod - 1ll * C(n - 1 - j, n - 1 - i) * g[j] % mod) % mod;
  printf("%d", g[n - 1]);
  for (i = n - 2; i >= 0; i--) printf(" %d", g[i]);
}
