#caddi2018d. [caddi2018_d]Square

[caddi2018_d]Square

問題文

高橋君は、NNNN 列のマス目を持っています。マス目の上から ii 番目、左から jj 番目のマスは (i,j)(i,j) で表されます。 特に、マス目の左上のマスは (1,1)(1,1) であり、右下のマスは (N,N)(N,N) です。

高橋君の持っているマス目のうち MM 個のマスには、00 または 11 の整数が書き込まれています。 整数が書き込まれたマスのうち ii 番目のマスの情報は 33 つの整数 ai,bi,cia_i,b_i,c_i で表され、マス (ai,bi)(a_i,b_i) に整数 cic_i が書き込まれていることを表します。

高橋君は、以下の条件を満たすように残りのマスに 00 または 11 の整数を書き込むことにしました。 書き込み方としてありうるものの個数を 998244353998244353 で割ったあまりを求めてください。

  • 任意の 1leqi<jleqN1\\leq i < j\\leq N に対し、(i,i)(i,i) を左上のマスとし (j,j)(j,j) を右下のマスとするような正方形領域に書き込まれた 11 の個数が偶数である

制約

  • 2leqNleq1052 \\leq N \\leq 10^5
  • 0leqMleqmin(5times104,N2)0 \\leq M \\leq min(5 \\times 10^4,N^2)
  • 1leqai,bileqN(1leqileqM)1 \\leq a_i,b_i \\leq N(1\\leq i\\leq M)
  • 0leqcileq1(1leqileqM)0 \\leq c_i \\leq 1(1\\leq i\\leq M)
  • ineqji \\neq j ならば (ai,bi)neq(aj,bj)(a_i,b_i) \\neq (a_j,b_j) である
  • 入力はすべて整数である

入力

入力は以下の形式で標準入力から与えられる。

NN MM a1a_1 b1b_1 c1c_1 :: aMa_M bMb_M cMc_M

出力

書き込み方としてありうるものの個数を 998244353998244353 で割ったあまりを出力せよ。


入力例 1

3 3
1 1 1
3 1 0
2 3 1

出力例 1

8

例えば、以下のような書き込み方が条件を満たします。

101   111
011   111
000   011

入力例 2

4 5
1 3 1
2 4 0
2 3 1
4 2 1
4 4 1

出力例 2

32

入力例 3

3 5
1 3 1
3 3 0
3 1 0
2 3 1
3 2 1

出力例 3

0

入力例 4

4 8
1 1 1
1 2 0
3 2 1
1 4 0
2 1 1
1 3 0
3 4 1
4 4 1

出力例 4

4

入力例 5

100000 0

出力例 5

342016343