#include <bits/stdc++.h>
using namespace std;
const long long maxn = 210, mod = 1e9 + 7;
long long n, head[maxn], to[maxn], nextt[maxn], inv[maxn],
    tot = 1, f[maxn][maxn][maxn], g[110][110], sizee[maxn], jie[maxn],
    nijie[maxn], ans[maxn];
void add(long long x, long long y) {
  to[tot] = y;
  nextt[tot] = head[x];
  head[x] = tot++;
}
long long qpow(long long a, long long b) {
  long long res = 1;
  while (b) {
    if (b & 1) res = (res * a) % mod;
    a = (a * a) % mod;
    b >>= 1;
  }
  return res;
}
void dfs(long long u, long long fa) {
  sizee[u] = 1;
  f[u][1][1] = 1;
  for (long long i = head[u]; i; i = nextt[i]) {
    long long v = to[i];
    if (v == fa) continue;
    dfs(v, u);
    for (long long j = 1; j <= sizee[u]; j++)
      for (long long k = 1; k <= sizee[u]; k++)
        if (f[u][j][k] != 0)
          for (long long p = 1; p <= sizee[v]; p++)
            for (long long q = 1; q <= sizee[v]; q++) {
              g[j + p][k] += f[u][j][k] * f[v][p][q] % mod * q % mod;
              g[j + p][k] %= mod;
              g[j + p - 1][k + q] += f[u][j][k] * f[v][p][q] % mod;
              g[j + p - 1][k + q] %= mod;
            }
    sizee[u] += sizee[v];
    for (int j = 1; j <= sizee[u]; j++)
      for (int k = 1; k <= sizee[u]; k++) f[u][j][k] = g[j][k], g[j][k] = 0;
  }
}
long long C(long long n, long long m) {
  return jie[n] * nijie[m] % mod * nijie[n - m] % mod;
}
int main() {
  scanf("%lld", &n);
  jie[0] = jie[1] = nijie[1] = nijie[0] = 1;
  for (int i = 2; i <= n; i++) {
    jie[i] = i * jie[i - 1] % mod;
    nijie[i] = nijie[mod % i] * (mod - mod / i) % mod;
  }
  for (int i = 2; i <= n; i++) nijie[i] = nijie[i] * nijie[i - 1] % mod;
  for (long long i = 1; i < n; i++) {
    long long x, y;
    scanf("%lld%lld", &x, &y);
    add(x, y);
    add(y, x);
  }
  dfs(1, 0);
  ans[n - 1] = 1;
  for (long long i = 0; i < n - 1; i++) {
    for (long long j = 1; j <= n; j++)
      ans[i] = (ans[i] + f[1][n - i][j] * j % mod) % mod;
    if (n - i - 2 >= 0) ans[i] = ans[i] * qpow(n, n - i - 2) % mod;
  }
  for (long long i = 0; i < n; i++)
    for (long long j = i + 1; j < n; j++) {
      if ((j - i) & 1)
        ans[i] = ((ans[i] - C(j, i) * ans[j] % mod) % mod + mod) % mod;
      else
        ans[i] = (ans[i] + C(j, i) * ans[j] % mod) % mod;
    }
  for (long long i = 0; i < n; i++) printf("%lld ", ans[i]);
  return 0;
}
