給定一個 $(3N + 1)$ 行 $(3N + 1)$ 列的網格。判斷是否可以將每個格子染成黑色或白色,使得滿足以下所有條件。如果可以,輸出一種染色方案。
- 任意兩個不同的黑色格子不共邊。
- 從任意黑色格子出發,透過重複移動零次或多次到共角(即對角線相鄰)的相鄰黑色格子,可以到達某個與網格外部邊界相鄰的黑色格子。
- 所有白色格子組成一個單一的連通分量;也就是說,對於任意兩個白色格子,可以透過重複移動零次或多次到共邊的相鄰白色格子,從一個白色格子移動到另一個。
- 在其中兩個特定的行中,每行恰好有 $N + 1$ 個黑色格子;而在其餘的每行中,每行恰好有 $N$ 個黑色格子。
- 在其中兩個特定的列中,每列恰好有 $N + 1$ 個黑色格子;而在其餘的每列中,每列恰好有 $N$ 個黑色格子。
輸入格式
輸入格式如下:
N
- 所有輸入均為整數。
- $1 \le N \le 500$
輸出格式
如果不存在滿足條件的染色方案,則在一行中輸出 No。
否則,按照以下格式輸出一種滿足條件的染色方案。設 $a_{i,j}$ 表示從上往下第 $i$ 行、從左往右第 $j$ 列的格子對應的字元:如果該格子為白色,則字元 $a_{i,j}$ 應為 .;如果為黑色,則為 #。
Yes
a_{1,1}...a_{1,3N+1}
:
a_{3N+1,1}...a_{3N+1,3N+1}如果存在多種合法的染色方案,輸出任意一種均可。
範例
範例輸入 1
1
範例輸出 1
No
說明
以下三個輸出範例符合 $N = 1$ 時的輸出格式要求,但它們不滿足條件,因此會被判定為錯誤。
Yes ##.. #... ...# ..##
Yes #.#. ...# #.#. .#..
Yes ...# .#.. ..#. #...
在第一個範例中,存在共邊的黑色格子。
在第二個範例中,白色格子沒有組成一個單一的連通分量。
在第三個範例中,關於黑色格子數量的條件未被滿足。此外,例如從上往下第 $2$ 行、從左往右第 $2$ 列的黑色格子出發,即使重複移動到共角的黑色格子,也無法到達任何與網格外部邊界相鄰的黑色格子。
可以證明,當 $N = 1$ 時,不存在滿足條件的染色方案。