#include<cstdio>
#include<cstring>
#include<algorithm>
typedef long long ll;
#define reg register
#define file(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout);
#define endfile fclose(stdin);fclose(stdout);
namespace IO{
    char buf[1<<15],*S,*T;
    inline char gc(){
        if (S==T){
            T=(S=buf)+fread(buf,1,1<<15,stdin);
            if (S==T)return EOF;
        }
        return *S++;
    }
    inline int read(){
        reg int x;reg bool f;reg char c;
        for(f=0;(c=gc())<'0'||c>'9';f=c=='-');
        for(x=c^'0';(c=gc())>='0'&&c<='9';x=(x<<3)+(x<<1)+(c^'0'));
        return f?-x:x;
    }
    const int _outlim=1<<20;
    char outbuf[_outlim+5];int cnt;
    inline void pc(char c){
        outbuf[cnt++]=c;
        if (cnt==_outlim)
            fwrite(outbuf,1,cnt,stdout),cnt=0;
    }
    inline void write(int x){
        if(x>9)write(x/10);pc(x%10^'0');
    }
    inline void end(){
        if(cnt)fwrite(outbuf,1,cnt,stdout);endfile;
    }
}
const int MN=2e5+5;
int to[MN<<1],nxt[MN<<1],h[MN],Cnt;
inline void ins(int s,int t){
    to[++Cnt]=t;nxt[Cnt]=h[s];h[s]=Cnt;
    to[++Cnt]=s;nxt[Cnt]=h[t];h[t]=Cnt;
}
int n,siz[MN],cnt[MN],A[262145<<1],B[262145<<1];
void dfs(int st,int fa=0){
    siz[st]=1;
    for(reg int i=h[st];i;i=nxt[i])
        if(to[i]!=fa)dfs(to[i],st),siz[st]+=siz[to[i]];
    if(fa)cnt[siz[st]]--,cnt[n-siz[st]]--;
}
int inv[MN],fac[MN],ans[MN];
const int p=924844033,g=5;
inline ll qpow(ll a,ll b){
    static ll res;res=1;
    while(b){
        if(b&1)res=res*a%p;
        a=a*a%p;b>>=1;
    }
    return res;
}
const int Inv=qpow(g,p-2);
inline void swap(int& a,int& b){a^=b;b^=a;a^=b;}
inline void mod(int& a){if(a>=p)a-=p;if(a<0)a+=p;}
int lim=1,len,pos[262145<<1],gpow[262145<<1],invp[262145<<1];
inline void NTT(int *A,int sign){
    for(reg int i=0;i<lim;i++)if(i<pos[i])swap(A[i],A[pos[i]]);
    for(reg int mid=1;mid<lim;mid<<=1){
        static int urt,rt,x,y;urt=(~sign)?gpow[mid<<1]:invp[mid<<1];
        for(reg int l=mid<<1,i=0;i<lim;i+=l){
            rt=1;for(reg int j=0;j<mid;j++,rt=1ll*urt*rt%p){
                x=A[i+j];y=1ll*rt*A[i+j+mid]%p;
                A[i+j]=x+y;A[i+j+mid]=x-y;mod(A[i+j]);mod(A[i+j+mid]);
            }
        }
    }
    if(sign<0){
        reg int invl=qpow(lim,p-2);
        for(reg int i=0;i<lim;i++)A[i]=1ll*A[i]*invl%p;
    }
}
int main(){
    n=IO::read();cnt[n]=n;
    for(reg int i=1;i<n;i++)ins(IO::read(),IO::read());
    dfs(1);inv[1]=inv[0]=fac[1]=fac[0]=1;
    for(reg int i=2;i<=n;i++)fac[i]=1ll*fac[i-1]*i%p;
    for(reg int i=2;i<=n;i++)inv[i]=1ll*(p-p/i)*inv[p%i]%p;
    for(reg int i=1;i<=n;i++)inv[i]=1ll*inv[i]*inv[i-1]%p;
    for(reg int i=0;i<=n;i++)A[i]=1ll*cnt[n-i]*fac[n-i]%p,B[i]=inv[i];
    while(lim<=n+n)lim<<=1,len++;
    for(reg int i=1;i<=lim;i<<=1)gpow[i]=qpow(g,(p-1)/i);
    for(reg int i=1;i<=lim;i<<=1)invp[i]=qpow(Inv,(p-1)/i);
    for(reg int i=0;i<lim;i++)pos[i]=(pos[i>>1]>>1)|((i&1)<<(len-1));
    NTT(A,1);NTT(B,1);for(reg int i=0;i<=lim;i++)A[i]=1ll*A[i]*B[i]%p;
    NTT(A,-1);for(reg int i=1;i<=n;i++)ans[i]=(1ll*inv[i]*A[n-i]%p+p)%p;
    for(reg int i=1;i<=n;i++)IO::write(ans[i]),IO::pc('\n');
    IO::end();
    return 0;
}

Measured memory_bytes: 27136