#define MD 998244353 ll@N,@M,@A[N],@(U--,V--)[M],a,b; unionFind uf('m',N,1); rep(i,M)a=uf(U[i]),b=uf(V[i]),if(uf(a,b))A[uf(a)]+=A[uf(a)^a^b]; Mint s=1; rep(i,N)s*=A[uf(i)]; wt(s);