#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;j>=n/2+1;j--){
if(j+i==(n-1)*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: Wrong Answer
****************************************************************/