#include <bits/stdc++.h>
using namespace std;
int n, E, sz[800001], fir[800001], nex[800001], to[800001];
int b[800001], ret[800001], pos[800001];
long long inv[800001], ijc[800001], jc[800001];
struct C {
  double x, y;
  inline C(double x = 0, double y = 0) : x(x), y(y) {}
  C operator-(const C& a) const { return C(x - a.x, y - a.y); }
  C operator+(const C& a) const { return C(x + a.x, y + a.y); }
  C operator*(const double& a) const { return C(x * a, y * a); }
  C operator/(const double& a) const { return C(x / a, y / a); }
  C operator*(const C& a) const {
    return C(x * a.x - y * a.y, x * a.y + y * a.x);
  }
  C conj() const { return C(x, -y); }
} s1[800001], omg_[800001], s2[800001];
int n_, lgn_;
int rev_[800001];
void FFT_init(int n) {
  lgn_ = 32 - __builtin_clz(n);
  n_ = 1 << lgn_;
  rev_[0] = 0;
  omg_[0] = C(1, 0);
  for (int i = 1; i < n_; i <<= 1)
    omg_[i] = C(cos(2. * i * M_PI / n_), sin(2. * i * M_PI / n_));
  for (int i = 1; i < n_; i++) {
    omg_[i] = omg_[i ^ (i & -i)] * omg_[i & -i];
    rev_[i] = rev_[i / 2] >> 1 | (i & 1) << lgn_ - 1;
  }
}
C ww[800001];
void FFT(C* a) {
  for (int i = 0; i < n_; i++)
    if (rev_[i] < i) swap(a[i], a[rev_[i]]);
  register int t;
  register C s;
  for (int i = 0; i < lgn_; i++) {
    t = 1 << i;
    for (register int j = 0; j < t; ++j) ww[j] = omg_[j << lgn_ - i - 1];
    for (register int j = 0; j < n_; j += t << 1) {
      register C *at = a + j, *bt = a + j + t;
      for (register int k = 0; k < t; ++k) {
        s = bt[k] * ww[k];
        bt[k] = at[k] - s;
        at[k] = at[k] + s;
      }
    }
  }
}
C s3[800001], s4[800001];
void mul(int* a, int* b, int n, int m) {
  FFT_init(n + m - 2);
  memset(s1, 0, sizeof s1);
  memset(s2, 0, sizeof s2);
  for (int i = 0; i < n; i++) s1[i] = C(a[i] & 32767, a[i] >> 15);
  for (int i = 0; i < m; i++) s2[i] = C(b[i] & 32767, b[i] >> 15);
  FFT(s1);
  FFT(s2);
  for (int i = 0; i < n_; i++) {
    int j = (n_ - 1) & (n_ - i);
    C da, db, dc, dd;
    da = (s1[i] + s1[j].conj()) * C(0.5, 0);
    db = (s1[i] - s1[j].conj()) * C(0, -0.5);
    dc = (s2[i] + s2[j].conj()) * C(0.5, 0);
    dd = (s2[i] - s2[j].conj()) * C(0, -0.5);
    s3[j] = da * dc + da * dd * C(0, 1);
    s4[j] = db * dc + db * dd * C(0, 1);
  }
  FFT(s3);
  FFT(s4);
  for (int i = 0; i < n_; i++) {
    int da = (long long)(s3[i].x / n_ + 0.5) % 924844033;
    int db = (long long)(s3[i].y / n_ + 0.5) % 924844033;
    int dc = (long long)(s4[i].x / n_ + 0.5) % 924844033;
    int dd = (long long)(s4[i].y / n_ + 0.5) % 924844033;
    a[i] =
        (da + ((long long)(db + dc) << 15) + ((long long)dd << 30)) % 924844033;
    (a[i] += 924844033) %= 924844033;
  }
}
void add(int x, int y) {
  to[++E] = y;
  nex[E] = fir[x];
  fir[x] = E;
}
int build(int now, int fat) {
  sz[now] = 1;
  for (int i = fir[now]; i; i = nex[i])
    if (to[i] != fat) sz[now] += build(to[i], now);
  return sz[now];
}
void Solve() {
  int c[800001], d[800001];
  memset(c, 0, sizeof c);
  memset(d, 0, sizeof d);
  for (int i = 0; i < n; i++)
    c[i] = b[n - i] * jc[n - i] % 924844033, d[i] = ijc[i];
  mul(c, d, n, n);
  for (int i = 0; i < n; i++) {
    ret[i] += c[i];
    ret[i] %= 924844033;
  }
}
int main() {
  scanf("%d", &n);
  inv[1] = jc[1] = ijc[1] = jc[0] = ijc[0] = 1;
  for (int i = 2; i <= n; i++)
    inv[i] = inv[924844033 % i] * (924844033 - 924844033 / i) % 924844033,
    jc[i] = jc[i - 1] * i % 924844033, ijc[i] = ijc[i - 1] * inv[i] % 924844033;
  for (int i = 1; i < n; i++) {
    int p, q;
    scanf("%d%d", &p, &q);
    add(p, q);
    add(q, p);
  }
  build(1, 0);
  for (int i = 2; i <= n; i++) b[sz[i]]++;
  Solve();
  memset(b, 0, sizeof b);
  for (int i = 2; i <= n; i++) b[n - sz[i]]++;
  Solve();
  for (int i = 0; i < n - i; i++) swap(ret[i], ret[n - i]);
  for (int i = 1; i <= n; i++) ret[i] = ret[i] * ijc[i] % 924844033;
  for (int i = 1; i <= n; i++)
    printf("%lld\n", (n * jc[n] % 924844033 * ijc[i] % 924844033 * ijc[n - i] %
                          924844033 -
                      ret[i] + 924844033) %
                         924844033);
  return 0;
}
