#include #define REP(i,n,N) for(int i=(n);i<(int) N;i++) using namespace std; int a[35][35]; int dx[]={1,0,-1,0}; int dy[]={0,1,0,-1}; int main() { int n; cin>>n; int cnt=1; int x=-1,y=0; int dir=0; int go=n; while(cnt<=n*n){ REP(i,0,go){ x+=dx[dir]; y+=dy[dir]; a[y][x]=cnt; cnt++; } dir++; if(dir%2) go--; } REP(i,0,n){ REP(j,0,n){ if(j==0) printf("%03d",a[i][j]); else printf(" %03d",a[i][j]); } cout<