AT_stpc2025_2_m Take K

Description

$ H $ 行 $ W $ 列のマス目があります。上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i,j) $ と表します。 各マスは障害物が置かれたマスか、黒く塗られたマスか、白く塗られたマスのいずれかです。マスの状態は $ H $ 個の長さ $ W $ の文字列 $ S_1,S_2,\dots,S_H $ によって与えられ、 $ S_i $ の $ j $ 文字目が `#` のときマス $ (i,j) $ には障害物が置かれていて、 `B` のときマス $ (i,j) $ は黒く、 `W` のときマス $ (i,j) $ は白く塗られています。 あなたは好きな **黒く塗られたマス** を $ 1 $ つ選び、そこから移動を繰り返します。 $ 1 $ 回の移動で今いるマスから上下左右に隣接する、黒く塗られたマスか白く塗られたマスに移動することができます。 以下の条件を満たしながら $ 10^{100} $ 回移動することができるかどうか判定してください。 - $ x\ (1 \leq x \leq 10^{100}) $ 回目の移動の後にいるマスは、 $ x \equiv 0 \pmod K $ のとき黒く、 $ x \not\equiv 0 \pmod K $ のとき白く塗られている

Input Format

入力は以下の形式で与えられる。 > $ H $ $ W $ $ K $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_H $

Output Format

条件を満たしながら $ 10^{100} $ 回移動することができるなら `Yes` を、そうでないなら `No` を出力せよ。

Explanation/Hint

### Sample Explanation 1 マス $ (1,1) $ を選び、移動を開始します。 $ (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (1,3) \rightarrow (1,2) \rightarrow (1,3) \rightarrow \cdots $ と移動していくと、条件を満たしながら $ 10^{100} $ 回移動することができます。 ### Constraints - $ H, W, K $ は整数 - $ 1 \leq H, W $ - $ H \times W \leq 10^6 $ - $ 2 \leq K \leq 10^9 $ - $ S_i $ は `#`, `B`, `W` からなる長さ $ W $ の文字列 - $ S_1,S_2,\dots,S_H $ のうち少なくとも $ 1 $ つは `B` を含む