#include <bits/stdc++.h>
using namespace std;
int n, Map[100 + 5][100 + 5], X[100 + 5][100 + 5], _X[100 + 5][100 + 5],
    Y[100 + 5];
int Power(int u, int v) {
  int res = 1;
  for (; v; v >>= 1) {
    if (v & 1) res = 1LL * res * u % 1000000007;
    u = 1LL * u * u % 1000000007;
  }
  return res;
}
void Gauss(int st, int x) {
  int k = st - 1;
  for (int i = st; i <= x; i++) {
    int j = k + 1;
    for (; j <= x; j++)
      if (X[j][i]) break;
    if (j > x) continue;
    k++;
    if (k != j) {
      for (int l = st; l <= x; l++) swap(X[k][l], X[j][l]);
      if (!st) swap(Y[k], Y[j]);
    }
    int inv = Power(X[k][i], 1000000007 - 2);
    for (j = k + 1; j <= x; j++) {
      int del = 1LL * inv * X[j][i] % 1000000007;
      for (int l = st; l <= x; l++)
        X[j][l] = (X[j][l] + 1000000007 - 1LL * del * X[k][l] % 1000000007) %
                  1000000007;
      if (!st)
        Y[j] = (Y[j] + 1000000007 - 1LL * del * Y[k] % 1000000007) % 1000000007;
    }
  }
}
int MatrixTree(int w) {
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      X[i][j] = (i == j ? 0
                        : (Map[i][j] ? (1000000007 - w) % 1000000007
                                     : 1000000007 - 1));
  for (int i = 1; i <= n; i++) {
    int sum = 0;
    for (int j = 1; j <= n; j++)
      if (j != i) sum = (sum + 1000000007 - X[i][j]) % 1000000007;
    X[i][i] = sum;
  }
  Gauss(1, n - 1);
  int res = 1;
  for (int i = 1; i < n; i++) res = 1LL * res * X[i][i] % 1000000007;
  return res;
}
void Solve() {
  for (int i = n - 1; ~i; i--) {
    int pre = 0;
    for (int j = i + 1; j < n; j++)
      pre = (pre + 1LL * X[i][j] * Y[j] % 1000000007) % 1000000007;
    Y[i] = 1LL * (Y[i] + 1000000007 - pre) * Power(X[i][i], 1000000007 - 2) %
           1000000007;
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 1, u, v; i < n; i++) {
    scanf("%d%d", &u, &v);
    Map[u][v] = Map[v][u] = 1;
  }
  for (int w = 0; w < n; w++)
    for (int i = 0, x = 1; i < n; i++, x = 1LL * x * w % 1000000007)
      _X[w][i] = x;
  for (int i = 0; i < n; i++) Y[i] = MatrixTree(i);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++) X[i][j] = _X[i][j];
  Gauss(0, n - 1);
  Solve();
  for (int i = 0; i < n; i++) printf("%d%c", Y[i], i == n ? '\n' : ' ');
  return 0;
}
