AT_abc445_g [ABC445G] Knight Placement
Description
縦 $ N $ 行、横 $ N $ 列のマス目があります。 上から $ i $ 行目 $ (1\le i\le N) $ 、左から $ j $ 行目 $ (1\le j\le N) $ のマスをマス $ (i,j) $ と呼びます。
それぞれのマスは空きマスか壁マスのどちらかであり、長さ $ N $ の文字列からなる長さ $ N $ の列 $ (S _ 1,S _ 2,\ldots,S _ N) $ で表されます。 マス $ (i,j)\ (1\le i\le N,1\le j\le N) $ は $ S _ i $ の $ j $ 文字目が `.` のとき空きマスであり、`#` のとき壁マスです。
あなたは、このマス目にコマを置けるだけ置きたいです。 コマの置き方には以下のような制約があります。
- 壁マスにコマを置くことはできない。
- $ 1 $ つのマスにコマを $ 2 $ つ以上置くことはできない。
- マス $ (i,j) $ にコマが置かれているとき、マス $ (i,j) $ から縦に $ A $ マス横に $ B $ マス移動したマスおよび、縦に $ B $ マス横に $ A $ マス移動したマスにコマを置くことはできない。より厳密には、マス $ (i,j) $ にコマが置かれているとき、マス $ (i+A,j+B), $ マス $ (i+B,j+A), $ マス $ (i+B,j-A), $ マス $ (i+A,j-B), $ マス $ (i-A,j-B), $ マス $ (i-B,j-A), $ マス $ (i-B,j+A), $ マス $ (i-A,j+B) $ のどのマスにも(それぞれそのマスが存在するなら)コマを置くことはできない。
この制約のもと置くことができるコマの個数の最大値を $ K $ として、制約を満たす $ K $ 個のコマの配置をひとつ求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A $ $ B $ $ S _ 1 $ $ S _ 2 $ $ \vdots $ $ S _ N $
Output Format
制約を満たす $ K $ 個のコマの配置をひとつ求め、その配置を表す文字列を $ N $ 行にわたって出力せよ。 $ i $ 行目 $ (1\le i\le N) $ には、`.`, `o`, `#` からなる $ N $ 文字の文字列を出力せよ。 $ i $ 行目に出力する文字列の $ j $ 文字目 $ (1\le j\le N) $ は、マス $ (i,j) $ がコマが置かれていない空きマスなら `.` 、マス $ (i,j) $ がコマが置かれている空きマスなら `o` 、マス $ (i,j) $ が壁マスなら `#` とせよ。
条件を満たす配置が複数ある場合、そのうちどれを出力しても正答と判定される。
Explanation/Hint
### Sample Explanation 1
例えば、制約を満たしながら以下のように $ 10 $ 個のコマを置くことができます。

制約を満たしながら $ 11 $ 個のコマを置くことはできないので、上のような置き方に対応する盤面
```
o.#.o
oo##.
o#..#
##.o#
o#ooo
```
を出力すると正答と判定されます。
条件を満たす配置が複数ある場合どれを出力しても正答と判定されることに注意してください。 例えば、次のようにしても制約を満たしながら $ 10 $ 個のコマを置くことができます。

よって、
```
oo#oo
o.##o
.#..#
##..#
o#ooo
```
を出力しても正答と判定されます。
### Sample Explanation 2
すべての空きマスに $ 1 $ つずつコマを置くことで制約を満たすことができます。
### Constraints
- $ 1\le N\le300 $
- $ 0\le A\le B\le N $
- $ 1\le B $
- $ N,A,B $ は整数
- $ S _ i $ は `.`, `#` からなる長さ $ N $ の文字列 $ (1\le i\le N) $