#include <bits/stdc++.h>
int ksm(int a, int b) {
  int jg = 1;
  while (b > 0) {
    if (b & 1) jg = 1ll * jg * a % 1000000007;
    a = 1ll * a * a % 1000000007;
    b = (b >> 1);
  }
  return jg;
}
int hangls(int sz[102][102], int n) {
  int jg = 1;
  for (int i = 0; i < n; i++) {
    int wz = -1;
    for (int j = i; j < n; j++) {
      if (sz[j][i] != 0) {
        wz = j;
        break;
      }
    }
    if (wz == -1) continue;
    if (wz != i) {
      jg = 1000000007 - jg;
      for (int j = 0; j < n; j++) {
        int t = sz[i][j];
        sz[i][j] = sz[wz][j];
        sz[wz][j] = t;
      }
    }
    for (int j = i + 1; j < n; j++) {
      int t = 1ll * sz[j][i] * ksm(sz[i][i], 1000000007 - 2) % 1000000007;
      for (int k = i; k < n; k++)
        sz[j][k] = (sz[j][k] - 1ll * sz[i][k] * t % 1000000007 + 1000000007) %
                   1000000007;
    }
  }
  for (int i = 0; i < n; i++) jg = 1ll * jg * sz[i][i] % 1000000007;
  return jg;
}
int zi[102], sz[102][102];
bool tu[102][102];
int gethls(int n, int x) {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) sz[i][j] = 0;
  }
  for (int i = 0; i < n; i++) {
    for (int j = i + 1; j < n; j++) {
      int t;
      if (tu[i][j])
        t = x;
      else
        t = 1;
      sz[i][i] = (sz[i][i] + t) % 1000000007;
      sz[j][j] = (sz[j][j] + t) % 1000000007;
      sz[i][j] = (sz[i][j] - t + 1000000007) % 1000000007;
      sz[j][i] = (sz[j][i] - t + 1000000007) % 1000000007;
    }
  }
  return hangls(sz, n - 1);
}
void gauss(int sz[102][102], int ans[102], int n) {
  for (int i = 0; i < n; i++) {
    int wz = -1;
    for (int j = i; j < n; j++) {
      if (sz[j][i] != 0) {
        wz = j;
        break;
      }
    }
    if (wz == -1) continue;
    if (wz != i) {
      for (int j = i; j <= n; j++) {
        int t = sz[i][j];
        sz[i][j] = sz[wz][j];
        sz[wz][j] = t;
      }
    }
    for (int j = 0; j < n; j++) {
      if (j == i) continue;
      int t = 1ll * sz[j][i] * ksm(sz[i][i], 1000000007 - 2) % 1000000007;
      for (int k = i; k <= n; k++)
        sz[j][k] = (sz[j][k] - 1ll * sz[i][k] * t % 1000000007 + 1000000007) %
                   1000000007;
    }
  }
  for (int i = 0; i < n; i++)
    ans[i] = 1ll * sz[i][n] * ksm(sz[i][i], 1000000007 - 2) % 1000000007;
}
int ans[102];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n - 1; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    a -= 1;
    b -= 1;
    tu[a][b] = tu[b][a] = true;
  }
  for (int i = 0; i < n; i++) zi[i] = gethls(n, i + 1);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) sz[i][j] = ksm(i + 1, j);
    sz[i][n] = zi[i];
  }
  gauss(sz, ans, n);
  for (int i = 0; i < n; i++) printf("%d ", ans[i]);
  return 0;
}
