#include using namespace std; const int mod= 998244353; typedef long long ll; const ll inf = 1e18+100; const int maxn = 2000+5; int ans=0,dep[maxn],cnt[maxn],len,vis[maxn][maxn]; vectorg[maxn]; pair fdlong(int u,int f){ dep[u]=dep[f]+1; pair ans={dep[u],u}; for(int i=0;inow=fdlong(v,u); if(ans.firstnow=fdlong(1,0); now=fdlong(now.second,0); printf("%d ",now.first); len=now.first; ans=0; for(int i=1;i<=n;++i){ for(int j=1;j<=len;++j)cnt[j]=0; dfs(i,0,i); int cur=1; // printf("u:%d->",i); for(int j=1;j<=len;++j){ // printf("%d ",cnt[j]); cur=1ll*cur*cnt[j]%mod; } // puts(""); ans=(ans+cur)%mod; } ans=(ans+mod)%mod; printf("%d\n",ans); for(int i=1;i<=n;++i){ g[i].clear(); for(int j=1;j<=n;++j)vis[i][j]=0; } } }