#include #include #include #include #include #include #include #include #include #include #include #include #include #define p(s) cout<<(s)<=n;i--) #define CK(n,a,b) ((a)<=(n)&&(n)<(b)) #define F first #define S second typedef long long ll; using namespace std; const int inf=1e9+7; int N; int field[35][35]; int dx[]={1,0,-1,0}; int dy[]={0,1,0,-1}; int main(){ cin>>N; int k=0; int now=1; int x=0,y=0; REP(i,0,N) { field[0][i]=now; now++; } x=N-1; k++; RREP(i,1,N){ REP(j,0,i){ y+=dy[k]; x+=dx[k]; field[y][x]=now; now++; } k=(k+1)%4; REP(j,0,i){ y+=dy[k]; x+=dx[k]; field[y][x]=now; now++; } k=(k+1)%4; } REP(i,0,N){ printf("%03d", field[i][0]); REP(j,1,N){ printf(" %03d", field[i][j]); } printf("\n"); } return 0; }