#include <bits/stdc++.h>
#define il inline
#define RG register
#define ll long long
#define rhl (924844033)
#define N (1000010)

using namespace std;

struct edge{ int nt,to; }G[N];

int head[N],sz[N],g[N],h[N],fac[N],ifac[N],inv[N],rev[N],n,lg,len,num;

il int gi(){
  RG int x=0,q=1; RG char ch=getchar();
  while ((ch<'0' || ch>'9') && ch!='-') ch=getchar();
  if (ch=='-') q=-1,ch=getchar();
  while (ch>='0' && ch<='9') x=x*10+ch-48,ch=getchar();
  return q*x;
}

il void insert(RG int from,RG int to){
  G[++num]=(edge){head[from],to},head[from]=num; return;
}

il void dfs(RG int x,RG int p){
  sz[x]=1,++g[n]; RG int v;
  for (RG int i=head[x];i;i=G[i].nt){
    v=G[i].to; if (v==p) continue;
    dfs(v,x),sz[x]+=sz[v];
    if(--g[sz[v]]<0) g[sz[v]]+=rhl;
  }
  if (--g[n-sz[x]]<0) g[n-sz[x]]+=rhl; return;
}

il int qpow(RG int a,RG int b){
  RG int ans=1;
  while (b){
    if (b&1) ans=1LL*ans*a%rhl;
    a=1LL*a*a%rhl,b>>=1;
  }
  return ans;
}

il void NTT(int *a,RG int n,RG int f){
  for (RG int i=0;i<n;++i) if (i<rev[i]) swap(a[i],a[rev[i]]);
  for (RG int i=1;i<n;i<<=1){
    RG int wn=qpow(5,(rhl-1)/(i<<1));
    for (RG int j=0;j<n;j+=i<<1){
      RG int w=1,x,y;
      for (RG int k=0;k<i;++k,w=1LL*w*wn%rhl){
	x=a[j+k],y=1LL*w*a[j+k+i]%rhl;
	a[j+k]=x+y; if (a[j+k]>=rhl) a[j+k]-=rhl;
	a[j+k+i]=x-y; if (a[j+k+i]<0) a[j+k+i]+=rhl;
      }
    }
  }
  if (f==1) return; RG int inv=qpow(n,rhl-2); reverse(a+1,a+n);
  for (RG int i=0;i<n;++i) a[i]=1LL*a[i]*inv%rhl; return;
}

int main(){
  n=gi(),fac[0]=ifac[0]=1;
  for (RG int i=1;i<=n;++i){
    inv[i]=i==1 ? 1 : 1LL*(rhl-rhl/i)*inv[rhl%i]%rhl;
    fac[i]=1LL*fac[i-1]*i%rhl,ifac[i]=1LL*ifac[i-1]*inv[i]%rhl;
  }
  for (len=1;len<=(n<<1);len<<=1) ++lg;
  for (RG int i=0;i<len;++i) rev[i]=rev[i>>1]>>1|((i&1)<<(lg-1));
  for (RG int i=1,u,v;i<n;++i) u=gi(),v=gi(),insert(u,v),insert(v,u);
  dfs(1,0); for (RG int i=0;i<=n;++i) g[i]=1LL*g[i]*fac[i]%rhl; NTT(g,len,1);
  for (RG int i=0;i<=n;++i) h[i]=ifac[n-i]; NTT(h,len,1);
  for (RG int i=0;i<len;++i) g[i]=1LL*g[i]*h[i]%rhl; NTT(g,len,-1);
  for (RG int i=1;i<=n;++i) printf("%lld\n",1LL*g[n+i]*ifac[i]%rhl); return 0;
}
