#include <bits/stdc++.h>
using namespace std;
const long long p = 924844033;
const long long g = 5;
long long fp(long long a, long long b) {
  long long s = 1;
  while (b) {
    if (b & 1) s = s * a % p;
    a = a * a % p;
    b >>= 1;
  }
  return s;
}
namespace ntt {
long long w1[1000010];
long long w2[1000010];
int rev[1000010];
int n;
void init() {
  n = 524288;
  int i;
  for (i = 1; i <= n; i <<= 1) {
    w1[i] = fp(g, (p - 1) / i);
    w2[i] = fp(w1[i], p - 2);
  }
  rev[0] = 0;
  for (i = 1; i < n; i++) rev[i] = (rev[i >> 1] >> 1) | (i & 1 ? n >> 1 : 0);
}
void ntt(long long *a, int t) {
  int i, j, k;
  long long u, v, w, wn;
  for (i = 0; i < n; i++)
    if (rev[i] < i) swap(a[i], a[rev[i]]);
  for (i = 2; i <= n; i <<= 1) {
    wn = (t == 1 ? w1[i] : w2[i]);
    for (j = 0; j < n; j += i) {
      w = 1;
      for (k = j; k < j + i / 2; k++) {
        u = a[k];
        v = a[k + i / 2] * w % p;
        a[k] = (u + v) % p;
        a[k + i / 2] = (u - v) % p;
        w = w * wn % p;
      }
    }
  }
  if (t == -1) {
    long long inv = fp(n, p - 2);
    for (i = 0; i < n; i++) a[i] = a[i] * inv % p;
  }
}
};  // namespace ntt
long long b[1000010];
long long c[1000010];
long long a[1000010];
long long inv[1000010];
long long fac[1000010];
long long ifac[1000010];
int s[1000010];
int n;
list<int> l[200010];
long long num[1000010];
void dfs(int x, int fa) {
  s[x] = 1;
  for (auto v : l[x])
    if (v != fa) {
      dfs(v, x);
      s[x] += s[v];
      num[s[v]]--;
      num[n - s[v]]--;
    }
}
int main() {
  scanf("%d", &n);
  int i, x, y;
  for (i = 1; i <= n - 1; i++) {
    scanf("%d%d", &x, &y);
    l[x].push_back(y);
    l[y].push_back(x);
  }
  inv[0] = inv[1] = fac[0] = fac[1] = ifac[0] = ifac[1] = 1;
  for (i = 2; i <= n; i++) {
    inv[i] = -(p / i) * inv[p % i] % p;
    fac[i] = fac[i - 1] * i % p;
    ifac[i] = ifac[i - 1] * inv[i] % p;
  }
  dfs(1, 0);
  num[n] = n;
  for (i = 0; i <= n; i++) b[i] = num[n - i] * fac[n - i] % p;
  for (i = 0; i <= n; i++) c[i] = ifac[i];
  ntt::init();
  ntt::ntt(b, 1);
  ntt::ntt(c, 1);
  for (i = 0; i < ntt::n; i++) a[i] = b[i] * c[i] % p;
  ntt::ntt(a, -1);
  for (i = 1; i <= n; i++) {
    long long ans = a[n - i] * ifac[i] % p;
    ans = (ans + p) % p;
    printf("%lld\n", ans);
  }
  return 0;
}
