AT_abc312_b [ABC312B] TaK Code

Description

[problemUrl]: https://atcoder.jp/contests/abc312/tasks/abc312_b 高橋君は $ 2 $ 次元コード TaK Code を考案しました。以下の条件を全て満たすものが TaK Code です。 - 縦 $ 9 $ マス 横 $ 9 $ マスの領域である - 左上及び右下の縦 $ 3 $ マス 横 $ 3 $ マスの領域に含まれる計 $ 18 $ マスは全て黒である - 左上及び右下の縦 $ 3 $ マス 横 $ 3 $ マスの領域に八方位で隣接する計 $ 14 $ マスは全て白である TaK Code を回転させることはできません。 縦 $ N $ マス、横 $ M $ マスのグリッドがあります。 グリッドの状態は $ N $ 個の長さ $ M $ の文字列 $ S_1,\ldots,S_N $ で与えられ、上から $ i $ 行目左から $ j $ 列目のマスは $ S_i $ の $ j $ 文字目が `#` のとき黒、`.` のとき白です。 グリッドに完全に含まれる縦 $ 9 $ マス横 $ 9 $ マスの領域で、TaK Code の条件を満たす箇所を全て求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ S_1 $ $ \vdots $ $ S_N $

Output Format

上から $ i $ 行目左から $ j $ 列目のマスを左上とする縦 $ 9 $ マス 横 $ 9 $ マスの領域が TaK Code の条件を満たす $ (i,j) $ の組全てを辞書順の昇順で $ 1 $ 行に $ 1 $ 組ずつ、$ i,j $ をこの順に空白区切りで出力せよ。 $ (i,j) $ の組の辞書順の昇順とは、$ i $ の昇順、$ i $ が等しい組は $ j $ の昇順にすることである。

Explanation/Hint

### 制約 - $ 9\ \leq\ N,M\ \leq\ 100 $ - $ N,M $ は整数である - $ S_i $ は `.` および `#` のみからなる長さ $ M $ の文字列である ### Sample Explanation 1 TaK Code は以下のものです。`#` が黒マス、`.` が白マス、`?` が白黒どちらでもよいマスを表します。 ``` ###.????? ###.????? ###.????? ....????? ????????? ?????.... ?????.### ?????.### ?????.### ``` 入力で与えられたグリッドの上から $ 10 $ マス目左から $ 2 $ 列目のマスを左上とする縦 $ 9 $ マス 横 $ 9 $ マスの領域は以下のようになっており、TaK Code の条件を満たします。 ``` ###...... ###...... ###...... ......... ..##..... ..##..... ......### ......### ......### ``` ### Sample Explanation 3 TaK Code の条件を満たす箇所が $ 1 $ つもないこともあります。