#include <bits/stdc++.h>
using namespace std;
const int N = 105;
const int mod = 1000000007;
struct edge {
  int to, next;
} g[N << 1];
int head[N], cnt;
void add(int u, int v) {
  g[++cnt] = (edge){v, head[u]};
  head[u] = cnt;
}
int C[N][N], dp[N][N][2], dp1[N][N][2], sz[N], G[N], h[N];
int pw(int a, int b) {
  int ans = 1;
  while (b) {
    if (b & 1) ans = 1LL * ans * a % mod;
    a = 1LL * a * a % mod;
    b >>= 1;
  }
  return ans;
}
void dfs(int x, int fa) {
  dp[x][1][0] = dp[x][1][1] = 1;
  sz[x] = 1;
  for (int i = head[x]; i; i = g[i].next) {
    int y = g[i].to;
    if (y == fa) continue;
    dfs(y, x);
    for (int j = 1; j <= sz[x]; j++) {
      for (int k = 1; k <= sz[y]; k++) {
        dp1[x][j + k][0] =
            (dp1[x][j + k][0] + 1LL * dp[x][j][0] * dp[y][k][1] % mod) % mod;
        dp1[x][j + k][1] =
            (dp1[x][j + k][1] + 1LL * dp[x][j][1] * dp[y][k][1] % mod) % mod;
        dp1[x][j + k - 1][0] =
            (dp1[x][j + k - 1][0] + 1LL * dp[x][j][0] * dp[y][k][0] % mod) %
            mod;
        dp1[x][j + k - 1][1] =
            (dp1[x][j + k - 1][1] + (1LL * dp[x][j][0] * dp[y][k][1] % mod +
                                     1LL * dp[x][j][1] * dp[y][k][0] % mod) %
                                        mod) %
            mod;
      }
    }
    sz[x] += sz[y];
    for (int j = 1; j <= sz[x]; j++)
      dp[x][j][0] = dp1[x][j][0], dp[x][j][1] = dp1[x][j][1],
      dp1[x][j][0] = dp1[x][j][1] = 0;
  }
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i < n; i++) {
    int u, v;
    scanf("%d%d", &u, &v);
    add(u, v);
    add(v, u);
  }
  C[1][0] = C[1][1] = C[0][0] = 1;
  h[1] = n;
  h[0] = 1;
  for (int i = 2; i <= n; i++) {
    C[i][0] = 1;
    h[i] = 1LL * h[i - 1] * n % mod;
    for (int j = 1; j <= i; j++)
      C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % mod;
  }
  dfs(1, 0);
  int inv = pw(n, mod - 2);
  for (int k = 1; k <= n; k++) {
    G[k] = 1LL * dp[1][k][1] * h[k] % mod * inv % mod * inv % mod;
  }
  for (int k = n; k >= 1; k--) {
    int ans = 0;
    for (int i = 1; i <= k; i++) {
      ans = (ans + mod +
             1LL * ((i - k) % 2 == 0 ? 1 : -1) * G[i] * C[n - i][k - i] % mod) %
            mod;
    }
    printf("%d\n", ans);
  }
}
