from collections import deque def main(): N = int(input()) dir = deque([(0, 1), (1, 0), (0, -1), (-1, 0)]) grid = [[0 for _ in [0] * N] for _ in [0] * N] grid[0][0] = '001' x, y = 0, 0 n = 2 while n <= N * N: i, j = dir[0] if all((0 <= x + i < N, 0 <= y + j < N)): if grid[x+i][y+j] == 0: grid[x+i][y+j] = str(n).zfill(3) x += i y += j n += 1 else: dir.rotate(-1) else: dir.rotate(-1) for n in grid: print(*n, sep=' ') main()