Language: C++

#include<bits/stdc++.h>
#define mod 924844033
using namespace std;
int n,x,y;
int fir[200005],nxt[400005],to[400005],cnt;
int size[200005],Cnt[200005];
int fac[200005],ifac[200005];
int lim=1,L=0,f[800005],g[800005],R[800005],Inv;

int read(){
    int x=0;char ch=getchar();
    while(!isdigit(ch)) ch=getchar();
    while(isdigit(ch)) x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
    return x;
}

void print(int x){
    if(x>=10) print(x/10);
    putchar(x%10+'0');
}

void dfs(int x,int f){
    size[x]=1;
    for(int i=fir[x];i;i=nxt[i]){
        if(to[i]==f) continue;
        dfs(to[i],x);
        size[x]+=size[to[i]];
        Cnt[size[to[i]]]++;
    }
    if(x!=1) Cnt[n-size[x]]++;
}

int ksm(int x,int y){
    int res=1;
    while(y){
        if(y&1) res=1ll*res*x%mod;
        x=1ll*x*x%mod,y/=2;
    }
    return res;
}

int C(int x,int y){
    int res=1ll*fac[x]*ifac[y]%mod*ifac[x-y]%mod;
    return res;
}

void NTT(int *x,int on){
    for(int i=0;i<lim;i++) if(i<R[i]) swap(x[i],x[R[i]]);
    for(int i=2;i<=lim;i*=2){
        int wn=ksm(5,(mod-1)/i);
        if(on==-1) wn=ksm(wn,mod-2);
        for(int j=0;j<lim;j+=i){
            int w=1;
            for(int k=0;k<i/2;k++){
                int u=x[j+k],v=1ll*w*x[j+k+i/2]%mod;
                x[j+k]=(u+v)%mod;
                x[j+k+i/2]=(u+mod-v)%mod;
                w=1ll*w*wn%mod;
            }
        }
    }
}

int main(){
    n=read();
    fac[0]=1;for(int i=1;i<=n;i++) fac[i]=1ll*i*fac[i-1]%mod;
    ifac[n]=ksm(fac[n],mod-2);
    for(int i=n-1;i>=0;i--) ifac[i]=1ll*(i+1)*ifac[i+1]%mod;
    for(int i=1;i<n;i++){
        x=read(),y=read();
        to[++cnt]=y,nxt[cnt]=fir[x],fir[x]=cnt;
        to[++cnt]=x,nxt[cnt]=fir[y],fir[y]=cnt;
    }
    dfs(1,0);
    while(lim<=2*n) lim*=2,L++;
    for(int i=0;i<lim;i++) R[i]=(R[i>>1]>>1)|((i&1)<<(L-1));
    for(int i=1;i<=n;i++) f[i]=1ll*Cnt[i]*fac[i]%mod;
    for(int i=0;i<=n;i++) g[i]=ifac[n-i];
    NTT(f,1),NTT(g,1);
    for(int i=0;i<lim;i++) f[i]=1ll*f[i]*g[i]%mod;
    NTT(f,-1);
    Inv=ksm(lim,mod-2);
    for(int i=1,v;i<=n;i++){
        v=(1ll*n*C(n,i)%mod+mod-1ll*ifac[i]*f[n+i]%mod*Inv%mod)%mod;
        print(v),puts("");
    }

    return 0;
}

Compiler output:
a.cc: In function 'void dfs(int, int)':
a.cc:23:5: error: reference to 'size' is ambiguous
   23 |     size[x]=1;
      |     ^~~~
In file included from /usr/include/c++/14/string:53,
                 from /usr/include/c++/14/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:52,
                 from a.cc:1:
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:6:5: note:                 'int size [200005]'
    6 | int size[200005],Cnt[200005];
      |     ^~~~
a.cc:27:9: error: reference to 'size' is ambiguous
   27 |         size[x]+=size[to[i]];
      |         ^~~~
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:6:5: note:                 'int size [200005]'
    6 | int size[200005],Cnt[200005];
      |     ^~~~
a.cc:27:18: error: reference to 'size' is ambiguous
   27 |         size[x]+=size[to[i]];
      |                  ^~~~
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:6:5: note:                 'int size [200005]'
    6 | int size[200005],Cnt[200005];
      |     ^~~~
a.cc:28:13: error: reference to 'size' is ambiguous
   28 |         Cnt[size[to[i]]]++;
      |             ^~~~
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:6:5: note:                 'int size [200005]'
    6 | int size[200005],Cnt[200005];
      |     ^~~~
a.cc:30:20: error: reference to 'size' is ambiguous
   30 |     if(x!=1) Cnt[n-size[x]]++;
      |                    ^~~~
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:6:5: note:                 'int size [200005]'
    6 | int size[200005],Cnt[200005];
      |     ^~~~