#include <bits/stdc++.h>
using namespace std;
const int N = 105, P = 1e9 + 7;
int n, m, ans[N];
bool G[N][N];
int fpow(int k1, int k2) {
  int k3 = 1;
  for (; k2; k2 >>= 1, k1 = 1LL * k1 * k1 % P)
    if (k2 & 1) k3 = 1LL * k3 * k1 % P;
  return k3;
}
namespace xay5421 {
int A[N][N], B[N][N];
int det() {
  int res = 1;
  for (int i = (1); i <= (n - 1); ++i) {
    int pos = -1;
    for (int j = (i); j <= (n - 1); ++j)
      if (A[i][j]) {
        pos = j;
        break;
      }
    if (pos == -1) return 0;
    swap(A[i], A[pos]), res = -res;
    int I = fpow(A[i][i], P - 2);
    for (int j = (1); j <= (n - 1); ++j)
      if (i != j && A[j][i]) {
        int t = 1LL * A[j][i] * I % P;
        for (int k = (1); k <= (n); ++k)
          (A[j][k] -= 1LL * A[i][k] * t % P) %= P;
      }
    res = 1LL * res * A[i][i] % P;
  }
  return res;
}
void sol() {
  for (int x = (1); x <= (n); ++x) {
    for (int i = (1); i <= (n); ++i)
      for (int j = (1); j <= (n); ++j) A[i][j] = 0;
    for (int i = (1); i <= (n); ++i)
      for (int j = (1); j <= (n); ++j)
        if (i != j) {
          if (G[i][j]) {
            (A[i][i] -= x) %= P;
            (A[i][j] += x) %= P;
          } else {
            (A[i][i] -= 1) %= P;
            (A[i][j] += 1) %= P;
          }
        }
    B[x][1] = 1;
    for (int i = (2); i <= (n); ++i) {
      B[x][i] = 1LL * B[x][i - 1] * x % P;
    }
    B[x][n + 1] = det();
  }
  for (int i = (1); i <= (n); ++i) {
    int pos = -1;
    for (int j = (i); j <= (n); ++j)
      if (B[i][j]) {
        pos = j;
        break;
      }
    assert(pos != -1);
    swap(B[i], B[pos]);
    int I = fpow(B[i][i], P - 2);
    for (int j = (1); j <= (n); ++j)
      if (i != j && B[j][i]) {
        int t = 1LL * B[j][i] * I % P;
        for (int k = (1); k <= (n + 1); ++k)
          (B[j][k] -= 1LL * B[i][k] * t % P) %= P;
      }
  }
  for (int i = (1); i <= (n); ++i)
    ans[i] = 1LL * B[i][n + 1] * fpow(B[i][i], P - 2) % P, (ans[i] += P) %= P;
}
}  // namespace xay5421
int main() {
  scanf("%d", &n), m = n - 1;
  for (int i = (1); i <= (m); ++i) {
    int k1, k2;
    scanf("%d%d", &k1, &k2);
    G[k1][k2] = G[k2][k1] = 1;
  }
  xay5421::sol();
  for (int i = (1); i <= (n); ++i) printf("%d ", ans[i]);
  return 0;
}
