AT_agc075_a [AGC075A] Divide Grid
Description
$ N \times N $ のグリッドがあります。上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,j) $ と呼びます。
各マスに $ 0,1 $ のいずれかを書き込む方法に対して、以下のように $ f(X) $ を定めます。
- $ X $ が書かれているマスから、 **$ 1 $ 回以上**「右に隣接するマスに移動するか、下に隣接するマスに移動する」という操作を繰り返して $ X $ が書かれている別のマスへ移動する方法の個数
$ f(0) = f(1) $ を満たす書き込み方を $ 1 $ 個構築してください。この問題の制約下において解が存在することが保証されます。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $
Output Format
$ N $ 行出力せよ。 $ i(1 \le i \le N) $ 行目には $ (i,1),(i,2),\dots,(i,N) $ に書き込む数字をこの順で空白を入れずに出力せよ。
Explanation/Hint
### Sample Explanation 1
$ f(0) $ の条件を満たす操作方法は以下の $ 1 $ 通りなので、 $ f(0) = 1 $ です。
- $ (1,1) $ から始め、 $ (2,1) $ に移動する。
$ f(1) $ の条件を満たす操作方法は以下の $ 1 $ 通りなので、 $ f(1) = 1 $ です。
- $ (1,2) $ から始め、 $ (2,2) $ に移動する。
$ f(0) = f(1) $ であるため、条件を満たします。
### Constraints
- $ 1 \le N \le 500 $