import sys input = sys.stdin.readline N,Q=list(map(int,input().split())) E1=[[] for i in range(N)] E2=[[] for i in range(N)] for i in range(Q): t,a,b=list(map(int,input().split())) a-=1 b-=1 if t==0: E1[a].append(b) E1[b].append(a) else: E2[a].append(b) E2[b].append(a) flag=1 A=[-1]*N score=0 for i in range(N): if A[i]==-1: score+=1 A[i]=0 Q=[i] while Q: x=Q.pop() for to in E1[x]: if A[to]==-1: A[to]=A[x] Q.append(to) else: if A[to]!=A[x]: flag=0 for to in E2[x]: if A[to]==-1: A[to]=A[x]^1 Q.append(to) else: if A[to]==A[x]: flag=0 mod=998244353 if flag: print(pow(2,score,mod)) else: print(0)