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 $