#include<bits/stdc++.h>
using namespace std;
using ll = long long int;
using ld = long double;
const ll MAX = 5000000000000000000;
const ld PI = 3.14159265358979;
const ll MOD = 0;//2024948111;
random_device rd;
mt19937 mt(rd());
ld dotorad(ld K){return PI * K / 180.0;}
ld radtodo(ld K){return K * 180.0 / PI;}
int main(){
    ll N;
    cin >> N;
    vector<vector<ll>> A(N,vector<ll>(N));
    for(ll i = 0;i < N / 2;i++) for(ll j = 0;j < N / 2;j++) A[i][j] = 0;
    for(ll i = 0;i < N / 2;i++) for(ll j = N / 2;j < N;j++){
        if(i <= j - N / 2) A[i][j] = 1;
        else A[i][j] = 2;
    }
    for(ll i = N / 2;i < N;i++) for(ll j = 0;j < N / 2;j++){
        if(i - N / 2 <= j) A[i][j] = 0;
        else A[i][j] = 1;
    }
    for(ll i = N / 2;i < N;i++) for(ll j = N / 2;j < N;j++) A[i][j] = 2;
    for(ll i = 0;i < N;i++){
        for(ll j = 0;j < N;j++) cout << A[i][j];
        cout << endl;
    }
}