#include <stdio.h>
int main (){
int n;
scanf ("%d",&n);
while (n!=0){
int valorini=0, valorfim=n-1, valor=1, matriz[n][n];
if (n==1) printf (" 1\n \n");
else{
for (int i=0; i<n-1; i++){
for (int j=valorini; j<=valorfim; j++){
matriz[valorini][j]=valor;
matriz[valorfim][j]=valor;
matriz[j][valorini]=valor;
matriz[j][valorfim]=valor;
}
valor++;
valorini++;
valorfim--;
}
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
printf (" ");
printf ("%3d", matriz[i][j]);
}
printf ("\n");
}
printf (" \n");
}
scanf ("%d",&n);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbiAoKXsKICAgIGludCBuOwogICAgc2NhbmYgKCIlZCIsJm4pOwogICAgd2hpbGUgKG4hPTApewogICAgICAgIGludCB2YWxvcmluaT0wLCB2YWxvcmZpbT1uLTEsIHZhbG9yPTEsIG1hdHJpeltuXVtuXTsKICAgICAgICBpZiAobj09MSkgcHJpbnRmICgiICAgMVxuICAgXG4iKTsKICAgICAgICBlbHNlewogICAgICAgIGZvciAoaW50IGk9MDsgaTxuLTE7IGkrKyl7CiAgICAgICAgICAgIGZvciAoaW50IGo9dmFsb3Jpbmk7IGo8PXZhbG9yZmltOyBqKyspewogICAgICAgICAgICAgICAgbWF0cml6W3ZhbG9yaW5pXVtqXT12YWxvcjsKICAgICAgICAgICAgICAgIG1hdHJpelt2YWxvcmZpbV1bal09dmFsb3I7CiAgICAgICAgICAgICAgICBtYXRyaXpbal1bdmFsb3JpbmldPXZhbG9yOwogICAgICAgICAgICAgICAgbWF0cml6W2pdW3ZhbG9yZmltXT12YWxvcjsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YWxvcisrOwogICAgICAgICAgICB2YWxvcmluaSsrOwogICAgICAgICAgICB2YWxvcmZpbS0tOwogICAgICAgIH0KCiAgICAgICAgZm9yIChpbnQgaT0wOyBpPG47IGkrKyl7CiAgICAgICAgICAgIGZvciAoaW50IGo9MDsgajxuOyBqKyspewogICAgICAgICAgICAgICAgcHJpbnRmICgiICIpOwogICAgICAgICAgICAgICAgcHJpbnRmICgiJTNkIiwgbWF0cml6W2ldW2pdKTsKCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcHJpbnRmICgiXG4iKTsKICAgICAgICB9CgogICAgICAgIHByaW50ZiAoIiBcbiIpOwogICAgICAgIH0KCiAgICBzY2FuZiAoIiVkIiwmbik7CiAgICB9CiAgICByZXR1cm4gMDsKfQoK