#define MD 998244353 ll@n,@m; unionFind f('m',2n,1); rep(m){ ll@t,@a--,@b--; f(2a,2b+t); f(2a+1,2b+1-t); } Mint z=1; rep(i,n){ if(f(i*2)==f(i*2+1)){ z=0; } if(f(i*2)==i*2){ z*=2; } } wt(z);