AT_abc386_d [ABC386D] Diagonal Separation

Description

$ N $ 行 $ N $ 列のグリッドがあります。高橋君は以下の条件を満たすように各マスを黒または白のいずれかに塗り分けたいと考えています。 - すべての行について以下の条件が成り立つ。 - ある整数 $ i\ (0\leq i\leq N) $ が存在して、その行の左から $ i $ 個のマスは黒、それ以外は白で塗られている。 - すべての列について以下の条件が成り立つ。 - ある整数 $ i\ (0\leq i\leq N) $ が存在して、その列の上から $ i $ 個のマスは黒、それ以外は白で塗られている。 $ M $ 個のマスがすでに塗られています。そのうち $ i $ 個目は上から $ X_i $ 行目、左から $ Y_i $ 列目のマスで、 $ C_i $ が `B` のとき黒で、 `W` のとき白で塗られています。 高橋君はまだ塗られていない残りの $ N^2-M $ 個のマスの色をうまく決めることで条件を満たすことができるか判定してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ X_1 $ $ Y_1 $ $ C_1 $ $ \vdots $ $ X_M $ $ Y_M $ $ C_M $

Output Format

条件を満たすことができるとき `Yes` を、そうでないとき `No` を出力せよ。

Explanation/Hint

### Sample Explanation 1 例えば以下の図のように色を塗り分けると条件を満たすことができます。すでに塗られているマスを赤色の線で囲んでいます。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc386_d/af31eba004555a2f5e42b9a699898d15364359872be4f1456d5e729848e87f3d.png) ### Sample Explanation 2 塗られていない残りの $ 2 $ つのマスをどのように塗っても,条件を満たすことはできません。 ### Constraints - $ 1\leq N\leq 10^9 $ - $ 1\leq M\leq \min(N^2,2\times 10^5) $ - $ 1\leq X_i,Y_i\leq N $ - $ (X_i,Y_i)\neq (X_j,Y_j)\ (i\neq j) $ - $ C_i $ は `B` または `W` - 入力される数値はすべて整数