#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int MAX = 103;
long long dp[MAX][MAX][MAX];
long long tmp[MAX][MAX];
long long ncr[MAX][MAX];
long long res[MAX];
int sub[MAX];
vector<int> adj[MAX];
int modulo(int a, int b, int c) {
  long long res = 1;
  for (int i = 0; i < b; i++) {
    res *= a;
    res %= c;
  }
  return res % c;
}
void merge(int a, int b) {
  memset(tmp, 0, sizeof tmp);
  for (int i = 0; i < sub[b]; i++) {
    for (int j = 1; j <= sub[b]; j++) {
      for (int k = 0; k < sub[a]; k++) {
        for (int l = 1; l <= sub[a]; l++) {
          long long x = dp[b][i][j];
          long long y = dp[a][k][l];
          tmp[i + k + 1][j + l] += ((x * y) % MOD);
          tmp[i + k + 1][j + l] %= MOD;
          tmp[i + k][j] += ((((x * y) % MOD) * 1ll * l) % MOD);
          tmp[i + k][j] %= MOD;
        }
      }
    }
  }
  for (int i = 0; i < (sub[a] + sub[b]); i++) {
    for (int j = 1; j <= (sub[a] + sub[b]); j++) {
      dp[b][i][j] = tmp[i][j];
    }
  }
}
void dfs(int s, int p) {
  dp[s][0][1] = 1;
  sub[s] = 1;
  for (int i = 0; i < adj[s].size(); i++) {
    int u = adj[s][i];
    if (u != p) {
      dfs(u, s);
      merge(u, s);
      sub[s] += sub[u];
    }
  }
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i < n; i++) {
    int a, b;
    scanf("%d %d", &a, &b);
    adj[a].push_back(b);
    adj[b].push_back(a);
  }
  dfs(1, 0);
  for (int i = 0; i < n - 1; i++) {
    for (int j = 1; j <= n; j++) {
      dp[1][i][j] = (dp[1][i][j] * 1ll * j) % MOD;
      dp[1][i][j] = (dp[1][i][j] * 1ll * modulo(n, n - i - 2, MOD)) % MOD;
      res[i] += dp[1][i][j];
      res[i] %= MOD;
    }
  }
  res[n - 1] = 1;
  ncr[0][0] = 1;
  ncr[1][0] = 1;
  ncr[1][1] = 1;
  for (int i = 2; i <= n; i++) {
    ncr[i][0] = 1;
    for (int j = 1; j <= i; j++) {
      ncr[i][j] = (ncr[i - 1][j - 1] + ncr[i - 1][j]) % MOD;
    }
  }
  for (int i = n - 2; i >= 0; i--) {
    for (int j = i + 1; j < n; j++) {
      res[i] -= ((ncr[j][i] * res[j]) % MOD);
      res[i] += MOD;
      res[i] %= MOD;
    }
  }
  for (int i = 0; i < n; i++) {
    printf("%lld\n", res[i]);
  }
}
