AT_abc452_b [ABC452B] Draw Frame
Description
縦 $ H $ 行、横 $ W $ 列 のマス目があります。 高橋くんは、このマス目のそれぞれのマスを白か黒で塗ろうとしています。
高橋くんは、マス目に含まれるマスのうち端にあるマスをすべて黒く塗り、それ以外のマスを白く塗ります。 高橋くんが色を塗ったあとのマス目を出力してください。
より厳密には $ H\times W $ のマス目があります。
上から $ i $ 行目 $ (1\le i\le H) $ 、左から $ j $ 列目 $ (1\le j\le W) $ のマスをマス $ (i,j) $ と呼ぶことにします。
マス $ (i,j)\ (1\le i\le H,1\le j\le W) $ とマス $ (k,l)\ (1\le k\le H,1\le l\le W) $ が $ |i-k|+|j-l|=1 $ を満たすとき、かつそのときに限りこれらのマスは**辺で隣接している**と言います。
マス $ (i,j) $ と辺で隣接しているマスが $ 3 $ 個以下のとき、かつそのときに限りマス $ (i,j) $ は**端にある**と言います。
次の条件を満たす $ H $ 個の文字列 $ S _ 1,S _ 2,\ldots,S _ H $ を求めてください。
- $ S _ i $ は長さ $ W $ の文字列であり、 $ S _ i $ の $ j $ 文字目は、マス $ (i,j) $ が端にあるとき `#` 、そうでないとき `.` である。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ H $ $ W $
Output Format
$ H $ 行にわたって、長さ $ W $ の文字列を出力せよ。 $ i $ 行目 $ (1\le i\le H) $ の $ j $ 文字目 $ (1\le j\le W) $ には、マス $ (i,j) $ が黒く塗られているなら `#` 、白く塗られているなら `.` を出力せよ。
Explanation/Hint
### Sample Explanation 1
例えば、マス $ (1,1) $ は端にあります。 マス $ (1,1) $ と辺で隣接しているマスはマス $ (1,2) $ とマス $ (2,1) $ の $ 2 $ 個のみだからです。 よって、マス $ (1,1) $ は黒く塗られるので、 $ 1 $ 行目の $ 1 $ 文字目には `#` を出力してください。
逆に、例えばマス $ (3,4) $ は端にありません。 マス $ (3,4) $ と辺で隣接しているマスはマス $ (2,4), $ マス $ (3,3), $ マス $ (3,5), $ マス $ (4,4) $ の $ 4 $ 個だからです。 よって、マス $ (3,4) $ は白く塗られるので、 $ 3 $ 行目の $ 4 $ 文字目には `.` を出力してください。
### Constraints
- $ 3\le H\le10 $
- $ 3\le W\le10 $
- 入力はすべて整数