#include <bits/stdc++.h>
using namespace std;
int power(int a, int b, int c, int ans = 1) {
  for (; b; b >>= 1, a = (long long)a * a % c)
    if (b & 1) ans = (long long)ans * a % c;
  return ans;
}
const int N = 105, mod = 1000000007;
void sub(int &first, const int &second) {
  first -= second;
  if (first < 0) first += mod;
}
void add(int &first, const int &second) {
  first += second;
  if (first >= mod) first -= mod;
}
int inv(int u) {
  return u < 2 ? u : (long long)mod / u * (mod - inv(mod % u)) % mod;
}
int f[N], a[N][N], adj[N][N], ans[N];
int det(int n) {
  int ans = 1;
  for (int j, i = 0; i < n; i++) {
    for (j = i; j < n; j++)
      if (a[i][j]) break;
    if (j == n) return 0;
    if (i != j) {
      for (int k = i; k < n; k++) swap(a[k][i], a[k][j]);
      ans = mod - ans;
    }
    int first = inv(a[i][i]);
    ans = (long long)ans * a[i][i] % mod;
    for (int k = i + 1; k < n; k++)
      if (a[k][i]) {
        int second = (long long)first * a[k][i] % mod;
        for (j = i; j < n; j++) {
          a[k][j] -= (long long)a[i][j] * second % mod;
          if (a[k][j] < 0) a[k][j] += mod;
        }
      }
  }
  return ans;
}
int main() {
  int n, u, v;
  cin >> n;
  for (int i = 1; i < n; i++) {
    cin >> u >> v;
    u--;
    v--;
    adj[u][v] = adj[v][u] = 1;
  }
  for (int first = 0; first < n; first++) {
    for (int i = 0; i < n; i++) a[i][i] = 0;
    for (int i = 0; i < n; i++)
      for (int j = 0; j < n; j++)
        if (i != j) {
          a[i][j] = adj[i][j] ? first ? mod - first : 0 : mod - 1;
          sub(a[i][i], a[i][j]);
        }
    f[first] = det(n - 1);
    static int tp[N];
    memset(tp, 0, sizeof tp);
    tp[0] = 1;
    int c = 0, t = 1;
    for (int i = 0; i < n; i++)
      if (first != i) {
        for (int j = ++c; j >= 0; j--) {
          tp[j] = ((j ? tp[j - 1] : 0) + (long long)(mod - i) * tp[j]) % mod;
        }
        t = (long long)t * (first - i) % mod;
      }
    t = (t + mod) % mod;
    int tt = (long long)f[first] * power(t, mod - 2, mod) % mod;
    for (int i = 0; i < n; i++) add(ans[i], (int)((long long)tt * tp[i] % mod));
  }
  for (int i = 0; i < n; i++) printf("%d ", ans[i]);
  puts("");
  return 0;
}
