#include<iostream>
using namespace std;

int main(){
  int num[16][16];
  int n;
  int count=1;

  while(1){
    cin>>n;
    count=1;
    if(n==0)break;

    for(int i=1;i<=n;i++)
      for(int j=1;j<=n;j++)num[i][j]=0;

    num[(n+1)/2+1][(n+1)/2]=1;

    int dx=(n+1)/2+1;
    int dy=(n+1)/2;

    dx+=1;
    dy+=1;
    while(1){
      if(count==n*n) break;
      
      if(num[dx][dy]==0&&dx!=0&&dy!=0&&dx<=n&&dy<=n){
	count++;
	num[dx][dy]=count;
      }
    
      if(dx>n){
	if(num[1][dy]==0)dx=1;
	else if(num[1][dy]!=0){
	  dx=1;
	  dy+=1;
	  if(dy>n)dy=1;
	  if(dy<1)dy=n;
	}
      }else if(dy>n) {
	if(num[dx][1]==0)dy=1;
	else if(num[dx][1]!=0){
	  dx+=1;
	  dy=1;
	}
      }else if(dy<1){
	if(num[dx][n]==0) dy=n;
	else if(num[dx][n]!=0){
	  dx+=1;
	  dy=n;
	}
      }else if(num[dx][dy]!=0&&num[dx][dy]!=count){
	dx+=1;
	dy-=1;
      }else{
	dx+=1;
	dy+=1;
      }
    }    
    
    
    for(int i=1;i<=n;i++){
      for(int j=1;j<=n;j++){
	cout<<" "<<num[i][j];
      }
      cout<<endl;
    }
  }
  return 0;
}