#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int maxn = 105;
int n, fac[maxn], ifac[maxn], len, p[maxn], a[maxn][maxn], g[maxn][maxn],
    ans[maxn];
inline int inc(int &a, int b) { return a + b >= mod ? a += b - mod : a += b; }
inline int dec(int &a, int b) { return a < b ? a -= b - mod : a -= b; }
inline int getsum(int a, int b) { return a + b >= mod ? a + b - mod : a + b; }
inline int gi() {
  char c = getchar();
  while (c < '0' || c > '9') c = getchar();
  int sum = 0;
  while ('0' <= c && c <= '9') sum = sum * 10 + c - 48, c = getchar();
  return sum;
}
inline int pow(int x, int k) {
  int ret = 1;
  while (k) {
    if (k & 1) ret = (long long)ret * x % mod;
    x = (long long)x * x % mod;
    k >>= 1;
  }
  return ret;
}
int det(int a[maxn][maxn], int n) {
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j) a[i][j] = (a[i][j] + mod) % mod;
  int ans = 1;
  for (int i = 1; i <= n; ++i) {
    for (int j = i + 1; j <= n; ++j)
      while (a[j][i]) {
        int t = a[i][i] / a[j][i];
        for (int k = i; k <= n; ++k) dec(a[i][k], (long long)a[j][k] * t % mod);
        for (int k = i; k <= n; ++k) swap(a[i][k], a[j][k]);
        ans = mod - ans;
      }
    ans = (long long)ans * a[i][i] % mod;
    if (!ans) return 0;
  }
  return ans;
}
int main() {
  n = gi();
  for (int u, v, i = 1; i < n; ++i) {
    u = gi();
    v = gi();
    g[u][v] = g[v][u] = 1;
  }
  fac[0] = 1;
  for (int i = 1; i <= n; ++i) fac[i] = (long long)fac[i - 1] * i % mod;
  ifac[n] = pow(fac[n], mod - 2);
  for (int i = n - 1; ~i; --i) ifac[i] = (long long)ifac[i + 1] * (i + 1) % mod;
  for (int x = 1; x <= n; ++x) {
    memset(a, 0, sizeof(a));
    for (int t, i = 1; i <= n; ++i)
      for (int j = i + 1; j <= n; ++j) {
        t = g[i][j] ? x : 1;
        a[i][j] -= t;
        a[j][i] -= t;
        a[i][i] += t;
        a[j][j] += t;
      }
    memset(p + 1, 0, sizeof(int) * n);
    p[len = 0] =
        (long long)det(a, n - 1) * ifac[x - 1] % mod * ifac[n - x] % mod;
    if ((n - x) & 1) p[0] = mod - p[0];
    for (int t, i = 1; i <= n; ++i) {
      if (x == i) continue;
      t = mod - i;
      ++len;
      for (int j = len; ~j; --j)
        p[j] = getsum((long long)t * p[j] % mod, j ? p[j - 1] : 0);
    }
    for (int i = 0; i <= len; ++i) inc(ans[i], p[i]);
  }
  for (int i = 0; i < n; ++i) printf("%d ", ans[i]);
  return 0;
}
