AT_abc460_d [ABC460D] Repeatedly Repainting

Description

$ H $ 行 $ W $ 列のマス目があります。このマス目の上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i, j) $ と呼びます。 すべてのマスは白または黒で塗られています。マス目の情報は $ H $ 個の長さ $ W $ の文字列 $ S_1, S_2, \ldots, S_H $ によって与えられ、 $ S_i $ の $ j $ 文字目が `.` のときマス $ (i, j) $ は白で、 $ S_i $ の $ j $ 文字目が `#` のときマス $ (i, j) $ は黒で塗られています。 あなたは、以下の操作を $ 10^{100} $ 回行います。 - すべてのマスに対して同時に以下の規則で色の塗り替えを行う。 - 操作前に白く塗られているマスは、そのマスに隣接する黒く塗られているマスが存在するとき、またそのときに限り黒く塗り替える。ただし、マス $ (x, y) $ とマス $ (x', y') $ が隣接しているとは、片方のマスがもう片方のマスの $ 8 $ 近傍にある、すなわち $ \max(|x-x'|, |y-y'|) = 1 $ であることを指す。 - 操作前に黒く塗られているマスは、白く塗り替える。 操作を終えた後に各マスが何色で塗られているか求めてください。

Input Format

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

Output Format

$ H $ 行出力せよ。 各行に `.`, `#` からなる長さ $ W $ の文字列を $ 1 $ つずつ出力せよ。 $ i $ 行目の文字列の $ j $ 文字目は $ 10^{100} $ 回の操作を行った後にマス $ (i, j) $ が白で塗られているとき `.` に、黒で塗られているとき `#` になるようにせよ。

Explanation/Hint

### Sample Explanation 1 はじめ、マス目は以下のようになっています。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc460_d/b7515d0b38343efe953e00e9f748df4111fc871b0f5d96a1e0599c056e2b5738.png) $ 1 $ 回操作を行うと、マス目は以下のようになります。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc460_d/2d66d204efe0230fd36699eef39ed5b1d96e7e995dd5add71f5db964b011b208.png) $ 10^{100} $ 回操作を行うと、マス目は以下のようになります。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc460_d/a7514ca3012c64aff586842351ebb1a0c4b2e07a85878ea58285fffc97b61eeb.png) ### Constraints - $ 1 \leq H \times W \leq 10^6 $ - $ H, W $ は正整数 - $ S_i $ は `.`, `#` からなる長さ $ W $ の文字列