#define MD 998244353 ll@n,@m,@a[n]; unionFind f('m',n,1); rep(m){ ll@u--,@v--; f(u,v); } rep(i,n){ ll r=f(i); if(r!=i){ a[r]+=a[i]; } } Mint z=1; rep(i,n){ ll r=f(i); z*=a[r]; } wt(z);