#include<bits/stdc++.h>
using namespace std;
// 1 2 3 4 5 6 7
//1      @
//2    @   @
//3  @       @
//4@     @     @
//5  @       @
//6    @   @
//7      @
//行        列 
//4         7        (n-1)*2-1
//5         6 
//6         5 
//7         4






int a[100][100],n,i,j;
int main(){
	cin>>n;
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			a[i][j]=1;
		}
	}
    a[(n+1)/2][(n+1)/2]=0;
    for(i=1;i<=n/2+1;i++){
    	for(j=1;j<=n/2+1;j++){
    		if(i+j==(n+1)/2+1)   a[i][j]=0; 
    	}
    }
    for(i=n/2+1;i<=n;i++){
    	for(j=1;j<=n/2+1;j++){
    		if(i-j==(n-1)/2)   a[i][j]=0; 
    	}
    }
    for(i=1;i<=n/2+1;i++){
    	for(j=n/2+1;j<=n;j++){
    		if(j-i==(n-1)/2)   a[i][j]=0; 
    	}
    }
    for(i=n/2+1;i<=n;i++){
    	for(j=n/2+1;j<=n;j++){
    		if(j+i==n+(n/2+1))   a[i][j]=0;
    	}
    }
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			cout<<setw(3)<<a[i][j]; 
		}
		cout<<endl;
	}    
	
	return 0;
}

/**************************************************************
	Problem: 1327
	User: linyuhang
	Language: C++
	Result: Accepted
	Time:10 ms
	Memory:2116 kb
****************************************************************/