AT_abc357_c [ABC357C] Sierpinski carpet

Description

[problemUrl]: https://atcoder.jp/contests/abc357/tasks/abc357_c 非負整数 $ K $ に対して、以下のようにレベル $ K $ のカーペットを定義します。 - レベル $ 0 $ のカーペットは黒いマス $ 1 $ 個のみからなる $ 1\times\ 1 $ のグリッドである。 - $ K\ >\ 0 $ のとき、レベル $ K $ のカーペットは $ 3^K\times\ 3^K $ のグリッドである。 このグリッドを $ 3^{K-1}\times\ 3^{K-1} $ のブロック $ 9 $ 個に分割したとき、 - 中央のブロックはすべて白いマスからなる。 - 他の $ 8 $ 個のブロックは、レベル $ (K-1) $ のカーペットである。 非負整数 $ N $ が与えられます。 レベル $ N $ のカーペットを出力の形式に従って出力してください。

Input Format

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

Output Format

$ 3^N $ 行出力せよ。 $ i $ 行目 ($ 1\leq\ i\leq\ 3^N $) には、`.` と `#` からなる長さ $ 3^N $ の文字列 $ S_i $ を出力せよ。 $ S_i $ の $ j $ 文字目 ($ 1\leq\ j\leq\ 3^N $) は、レベル $ N $ のカーペットの上から $ i $ 行目かつ左から $ j $ 列目のマスが黒いとき `#` とし、白いとき `.` とせよ。

Explanation/Hint

### 制約 - $ 0\leq\ N\ \leq\ 6 $ - $ N $ は整数 ### Sample Explanation 1 レベル $ 1 $ のカーペットは次のような $ 3\times\ 3 $ のグリッドです。 !\[\](https://img.atcoder.jp/abc357/78b18b1b75ea7862c1c216499221b9e8.png) これを出力形式にしたがって出力すると出力例のようになります。 ### Sample Explanation 2 レベル $ 2 $ のカーペットは $ 9\times\ 9 $ のグリッドとなります。