#include using namespace std; int dy[4] = { 0,1,0,-1 }; int dx[4] = { 1,0,-1,0 }; int board[31][31]; int main(void) { int n; int num = 1; int state = 0; int move = 0; int max = 1; memset(board,-1,sizeof(board)); scanf("%d",&n); int y = 0; int x = 0; int dir = 0; while(num<=n*n) { board[y][x] = num++; int ny = y + dy[dir]; int nx = x + dx[dir]; if(ny<0 || ny>=n || nx<0 || nx>=n) { dir++; dir%=4; } else if(board[ny][nx]!=-1) { dir++; dir%=4; } y += dy[dir]; x += dx[dir]; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%03d ",board[i][j]); } printf("\n"); } return 0; }