#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int n;
long long g[105], f[105][105][105], fac[105], temp[105][105];
int size[105];
int head[105], cnt;
struct data {
  int next, to;
  data(int next = 0, int to = 0) : next(next), to(to) {}
} edge[105 << 1];
int read() {
  char c = getchar();
  int x = 0;
  while (!isdigit(c)) c = getchar();
  while (isdigit(c)) {
    x = (x << 3) + (x << 1) + c - '0';
    c = getchar();
  }
  return x;
}
void connect(int u, int v) {
  edge[++cnt] = data(head[u], v);
  head[u] = cnt;
}
long long power(long long a, int b) {
  b = (b + mod - 1) % (mod - 1);
  long long res = 1;
  while (b) {
    if (b & 1) res = res * a % mod;
    a = a * a % mod;
    b >>= 1;
  }
  return res;
}
void DFS(int u, int pre) {
  size[u] = f[u][1][0] = 1;
  for (int i = head[u]; i; i = edge[i].next) {
    int v = edge[i].to;
    if (v == pre) continue;
    DFS(v, u);
    memset(temp, 0, sizeof(temp));
    for (int j = 1; j <= size[u]; ++j)
      for (int k = 1; k <= size[v]; ++k)
        for (int p = 0; p <= size[u]; ++p)
          for (int q = 0; q <= size[v]; ++q) {
            temp[j + k][p + q] =
                (temp[j + k][p + q] + f[u][j][p] * f[v][k][q] % mod) % mod;
            temp[j][p + q + 1] =
                (temp[j][p + q + 1] + f[u][j][p] * f[v][k][q] % mod * k % mod) %
                mod;
          }
    memcpy(f[u], temp, sizeof(temp));
    size[u] += size[v];
  }
}
void init() {
  fac[0] = 1;
  for (int i = 1; i <= n; ++i) fac[i] = fac[i - 1] * i % mod;
}
long long C(int n, int m) {
  return fac[n] * power(fac[m], mod - 2) % mod * power(fac[n - m], mod - 2) %
         mod;
}
int main() {
  n = read();
  for (int i = 1; i < n; ++i) {
    int u = read(), v = read();
    connect(u, v);
    connect(v, u);
  }
  DFS(1, 0);
  init();
  for (int i = 0; i < n; ++i) {
    long long base = power(n, n - i - 2);
    for (int j = 1; j <= n; ++j)
      g[i] = (g[i] + base * f[1][j][n - i - 1] % mod * j % mod) % mod;
  }
  for (int i = n - 1; i >= 0; --i)
    for (int j = i + 1; j < n; ++j) g[i] = (g[i] - g[j] * C(j, i) % mod) % mod;
  for (int i = 0; i < n; ++i) printf("%lld ", (g[i] + mod) % mod);
}
