#arc089b. [arc089_b]Checker

[arc089_b]Checker

問題文

シカのAtCoDeerくんは無限に広がる二次元グリッドを一辺が KK の市松模様で塗ろうと考えています。 ただし、一辺が KK の市松模様とは、各マスが白か黒で塗られたパターンであって、各色の各連結成分が KK ×× KK の正方形となっているようなものです。 例えば以下は一辺が 33 の市松模様の例です。

cba927b2484fad94fb5ff7473e9aadef.png

AtCoDeerくんは NN 個の希望を持っています。 ii 個目の希望は、 xi,yi,cix_i,y_i,c_i で表されます。 これは、cic_iB ならマス (xi,yi)(x_i,y_i) を黒で塗る、 W なら白で塗ることを意味しています。 同時に最大でいくつの希望を叶えることが出来るか答えてください。

制約

  • 11 NN 10510^5
  • 11 KK 10001000
  • 00 xix_i 10910^9
  • 00 yiy_i 10910^9
  • ii jj なら (xi,yi)(x_i,y_i) (xj,yj)(x_j,y_j)
  • cic_iB または W
  • N,K,xi,yiN,K,x_i,y_i は整数

入力

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

NN KK x1x_1 y1y_1 c1c_1 x2x_2 y2y_2 c2c_2 :: xNx_N yNy_N cNc_N

出力

同時に叶えられる希望の個数の最大値を出力せよ。


入力例 1

4 3
0 1 W
1 2 W
5 3 B
5 4 B

出力例 1

4

上であげた例のように塗ればすべての希望を同時に叶えることができます。


入力例 2

2 1000
0 0 B
0 1 W

出力例 2

2

入力例 3

6 2
1 2 B
2 1 W
2 2 B
1 0 B
0 6 W
4 5 W

出力例 3

4