#include<stdio.h>
int main(void){
    int n;
    scanf("%d",&n);
    int arr[n][n];
    int i,j;
    int p=0,q=n;//行列
    int count=1;
    while(count<=n*n){
        for(j=p;j<q;j++){//上行
            arr[p][j]=count;
//            printf("%d,%d=%d\n",p,j,arr[p][j]);
            count++;
        }
        for(i=p+1;i<q;i++){//右竖
            arr[i][q-1]=count;
//                        printf("%d,%d=%d\n",i,q-1,arr[i][q-1]);
            count++;
        }
        for(j=q-2;j>=p;j--){
            arr[q-1][j]=count;
//            printf("%d,%d=%d\n",q-1,j,arr[q-1][j]);
            count++;
        }
        for(i=q-2;i>p;i--){
            arr[i][p]=count;
//                        printf("%d,%d=%d\n",i,p,arr[i][p]);
            count++;

        }
                    p++;
            q--;
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            printf("%d ",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}