#include <cstdio>
#include <cassert>
#include <vector>
using namespace std;

const int N = 200500;

vector<int> E[N];

const int MOD = 924844033;
int powmod(int x, int b) {
    int res = 1;
    while (b > 0) {
        if (b & 1)
            res = 1ll * res * x % MOD;
        b >>= 1;
        x = 1ll * x * x % MOD;
    }
    return res;
}

int inv[N];
typedef long long llong;
int S[N];
int n;
int F[N], iF[N];
int A[N];

void DFS(int x, int p = -1) {
    S[x] = 1;
    for (int y : E[x]) {
        if (y != p) {
            DFS(y, x);
            S[x] += S[y];
        }
    }
    if (p != -1) {
        A[n - S[x]]++;
        A[S[x]]++;
    }
}

const int LEN = (1 << 19);
const int AL = 10179;

inline int calc(int a, int b) {
    int res = 1;
    while (b > 0) {
        if (b % 2 != 0) {
            res = (1LL * res * a) % MOD;
        }
        a = (1LL * a * a) % MOD;
        b /= 2;
    }
    return res;
}

const int AL1 = calc(AL, MOD - 2);

int c[LEN], a[LEN], b[LEN];

inline void fft(int* a, int n, bool fl) {
    for (int i = 1, j = 0; i < n; ++i) {
        int bit = n / 2;
        for (; j >= bit; bit /= 2) {
            j -= bit;
        }
        j += bit;
        if (i < j) {
            swap(a[i], a[j]);
        }
    }
    for (int len = 2; len <= n; len *= 2) {
        int wlen = (fl ? AL1 : AL);
        for (int i = len; i < LEN; i *= 2) {
            wlen = (1LL * wlen * wlen) % MOD;
        }
        for (int i = 0; i < n; i += len) {
            int w = 1;
            for (int j = 0; j < len / 2; ++j) {
                int u = a[i + j], v = (1LL * a[i + j + len / 2] * w) % MOD;
                a[i + j] = (u + v) % MOD;
                a[i + j + len / 2] = (u - v + MOD) % MOD;
                w = (1LL * w * wlen) % MOD;
            }
        }
    }
    if (fl) {
        int inv = calc(n, MOD - 2);
        for (int i = 0; i < n; ++i) {
            a[i] = (1LL * a[i] * inv) % MOD;
        }
    }
}

int ans[N];

int cnk(int n, int k) {
    int ans = 1ll * F[n] * iF[n - k] % MOD;
    ans = 1ll * ans * iF[k] % MOD;
    return ans;

}

int main() {
    /*for (int al = 3; ; ++al) {
        if (calc(al, LEN) == 1 && calc(al, LEN / 2) != 1) {
            printf("al = %d\n", al);
            return 0;
        }
    }
    return 0;*/
    scanf("%d", &n);
    for (int i = 0; i < n - 1; i++) {
        int a, b;
        scanf("%d %d", &a, &b);
        --a, --b;
        E[a].push_back(b);
        E[b].push_back(a);
    }

    F[0] = iF[0] = 1;
    for (int i = 1; i <= n; i++) {
        inv[i] = powmod(i, MOD - 2);
        F[i] = F[i - 1] * 1ll * i % MOD;
        iF[i] = iF[i - 1] * 1ll * inv[i] % MOD;
    }

    DFS(0);
    for (int i = 0; i <= n; i++) {
        a[n - i] = 1ll * A[i] * F[i] % MOD;
        b[i] = iF[i];
    }
    int len = 1;
    while (len < (2 * n))
        len <<= 1;
    fft(a, len, false);
    fft(b, len, false);
    for (int i = 0; i < len; i++)
        c[i] = 1ll * a[i] * b[i] % MOD;
    fft(c, len, true);
//    printf("%d\n", n);
    for (int k = 1; k <= n; k++) {
        ans[k] = 1ll * c[n - k] * iF[k] % MOD;
        ans[k] = (1ll * n * cnk(n, k) % MOD - ans[k] + MOD) % MOD;
        printf("%d\n", ans[k]);
    }
}


Measured memory_bytes: 34560