#include <bits/stdc++.h>
using namespace std;
const int N = 6e5, MOD = 924844033, G = 5;
int n, l = 1, ans[N], u, v, sz[N], a[N], b[N], c[N], d[N], rev[N], w[2][N];
int fac[N], inv[N], invc[N];
int h[N], to[N], nxt[N], ecnt;
inline void adde(int u, int v) {
  nxt[++ecnt] = h[u];
  h[u] = ecnt;
  to[ecnt] = v;
}
inline int add(int a, const int &b) {
  if ((a += b) >= MOD) a -= MOD;
  return a;
}
inline int sub(int a, const int &b) {
  if ((a -= b) < 0) a += MOD;
  return a;
}
inline int mul(const int &a, const int &b) { return 1ll * a * b % MOD; }
inline int qpow(int a, int b) {
  int ret = 1;
  for (; b; b >>= 1, a = mul(a, a))
    if (b & 1) ret = mul(ret, a);
  return ret;
}
inline int C(const int &a, const int &b) {
  return mul(mul(fac[a], invc[b]), invc[a - b]);
}
inline void dfs(int u, int fa) {
  sz[u] = 1;
  for (int i = h[u], v; i; i = nxt[i])
    if ((v = to[i]) ^ fa) {
      dfs(v, u);
      c[sz[v]]++;
      sz[u] += sz[v];
    }
  c[n - sz[u]]++;
}
inline void fft(int *a, int opt) {
  for (int i = 0; i < l; i++)
    if (i < rev[i]) swap(a[i], a[rev[i]]);
  for (int i = 1; i < l; i <<= 1)
    for (int j = 0; j < l; j += i << 1)
      for (int k = 0; k < i; k++) {
        int x = a[j + k], y = mul(a[i + j + k], w[opt][i + k]);
        a[j + k] = add(x, y);
        a[i + j + k] = sub(x, y);
      }
  if (opt)
    for (int i = 0, inv = qpow(l, MOD - 2); i < l; i++) a[i] = mul(a[i], inv);
}
int main() {
  scanf("%d", &n);
  while (l <= n << 1) l <<= 1;
  for (int i = 0; i < l; i++)
    rev[i] = (rev[i >> 1] >> 1) | ((i & 1) * (l >> 1));
  for (int i = 1; i < l; i <<= 1) {
    w[0][i] = w[1][i] = 1;
    int wn1 = qpow(G, (MOD - 1) / (i << 1)), wn0 = qpow(wn1, MOD - 2);
    for (int j = 1; j < i; j++)
      w[0][i + j] = mul(w[0][i + j - 1], wn0),
               w[1][i + j] = mul(w[1][i + j - 1], wn1);
  }
  for (int i = 1; i < n; i++) scanf("%d%d", &u, &v), adde(u, v), adde(v, u);
  inv[0] = inv[1] = fac[0] = fac[1] = invc[0] = invc[1] = 1;
  for (int i = 2; i <= n; i++)
    fac[i] = mul(fac[i - 1], i), inv[i] = mul(MOD - inv[MOD % i], MOD / i),
    invc[i] = mul(invc[i - 1], inv[i]);
  dfs(1, 0);
  for (int i = 0; i <= n; i++) a[i] = mul(c[i], fac[i]), b[n - i] = invc[i];
  fft(a, 0);
  fft(b, 0);
  for (int i = 0; i < l; i++) ans[i] = mul(a[i], b[i]);
  fft(ans, 1);
  for (int i = 1; i <= n; i++)
    printf("%d\n", sub(mul(C(n, i), n), mul(invc[i], ans[n + i])));
  return 0;
}
