C - Special Cake for CODE FESTIVAL Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 500

問題文

AtCoder 社長の chokudai さんは, CODE FESTIVAL 2018 本戦で参加者に配る直方体のケーキを用意した.
このケーキは, 地面と垂直方向に, 縦に N 分割, 横に N 分割され, 合計 N^2 個のピースに分けられている.

chokudai さんの飼い犬のリチャードは, CODE FESTIVAL 2018 予選に参加したが, ギリギリ通過できなかった.
そこでリチャードは, 本戦で配られるケーキのいくつかのピースにスプレーをかけることで, すべてのピースを食べられなくしようと思った.
あるピースにスプレーがかけられると, このピースとこれに隣り合っているピースすべてが食べられなくなる.
ただし、隣り合っているとは、面で接していることを指すものとする.

リチャードが目標を達成できるようなスプレーのかけ方を 1 つ求めなさい. また, スプレーをかけるのに長く時間を使うと chokudai さんに見つかってしまうので, スプレーをかけるピースの個数を 201 \ 800 個以内にしなければならない.

制約

  • N1 以上 1 \ 000 以下の整数

入力

入力は以下の形式で標準入力から与えられる.

N

出力

1 行目から N 行目までに, それぞれ長さ N の文字列を出力しなさい. ただし, この N \times N の文字列はケーキを上から見た図 (各文字は 1 ピース) に対応しており, そのピースにスプレーをかける場合 X, かけない場合 . を出力する. X の個数は 201 \ 800 個以下でなければならない.

この問題の制約下で, 目標を達成するスプレーのかけ方が必ず存在することが示せる. そのようなスプレーのかけ方が複数存在する場合, そのうちのどれを出力してもよい.


入力例 1

3

出力例 1

X..
..X
X..

入力例 2

6

出力例 2

X.X..X
..X.X.
X..X..
.X...X
X..X..
.X..X.

入力例 3

21

出力例 3

XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
X....X....X....X....X
X.XXXX.XX.XX.X.X.XXXX
X.XXXX.XX.XX.X.X....X
X.XXXX.XX.XX.X.X.XXXX
X....X....X....X....X
XXXXXXXXXXXXXXXXXXXXX
X....X....XX...X....X
X.XXXX.XXXX.XXXXXX.XX
X....X....XX..XXXX.XX
X.XXXX.XXXXXXX.XXX.XX
X.XXXX....X...XXXX.XX
XXXXXXXXXXXXXXXXXXXXX
XXX.XX.XX.X....X.XXXX
XXX.XX.XX.X.XX.X.XXXX
XXX.XX.XX.X....X.XXXX
XXX.XXX..XX.XX.X.XXXX
XXX.XXXX.XX.XX.X....X
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX