#include <bits/stdc++.h>
using namespace std;
const int N = 105;
const long long mod = 1e9 + 7;
int mp[N][N];
long long A[N][N], b[N][N];
inline long long mi(long long a, long long b) {
  long long ret = 1;
  while (b) {
    if (b & 1) ret = ret * a, ret %= mod;
    a = a * a, a %= mod;
    b >>= 1;
  }
  return ret;
}
int n;
long long Gauss() {
  long long ret = 1;
  for (int i = 1; i < n; ++i) {
    for (int j = i + 1; j < n; ++j) {
      while (A[j][i]) {
        long long d = A[i][i] / A[j][i];
        for (int k = i; k < n; ++k) {
          A[i][k] = ((A[i][k] - d * A[j][k]) + mod) % mod;
        }
        swap(A[i], A[j]);
        ret = mod - ret;
      }
    }
    ret = ret * A[i][i] % mod;
    if (A[i][i] == 0) return 0LL;
  }
  return ret;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i < n; ++i) {
    int x, y;
    scanf("%d%d", &x, &y);
    mp[x][y] = mp[y][x] = 1;
  }
  for (int k = 1; k <= n; ++k) {
    for (int i = 1; i <= n; ++i) {
      A[i][i] = 0;
      for (int j = 1; j <= n; ++j) {
        if (i == j) continue;
        if (mp[i][j]) {
          A[i][j] = mod - k;
          A[i][i] += k;
          A[i][i] %= mod;
        } else {
          A[i][j] = mod - 1;
          A[i][i]++;
          A[i][i] %= mod;
        }
      }
    }
    b[k][1] = 1;
    for (int i = 2; i <= n; ++i) b[k][i] = k * b[k][i - 1] % mod;
    b[k][n + 1] = Gauss();
  }
  for (int i = 1; i <= n; ++i) {
    long long inv = mi(b[i][i], mod - 2);
    for (int j = i + 1; j <= n + 1; ++j) {
      b[i][j] *= inv;
      b[i][j] %= mod;
    }
    for (int j = 1; j <= n; ++j) {
      if (i == j) continue;
      for (int k = i + 1; k <= n + 1; ++k) {
        b[j][k] -= b[j][i] * b[i][k] % mod;
        b[j][k] += mod;
        b[j][k] %= mod;
      }
    }
  }
  for (int i = 1; i <= n; ++i) {
    printf("%lld ", b[i][n + 1]);
  }
  return 0;
}
