from itertools import cycle n = int(input()) m = list(range(1, n)[::-1]) l = [i for i in m for _ in [0] * 2] p = [n-1] + l m = [(i, j, k) for i, j, k in zip(cycle([0, 1, 0, -1]), cycle([1, 0, -1, 0]), p)] q = [[str(1).zfill(3)] * n for _ in [0]*n] cnt = 1 tmpi = 0 tmpj = 0 for i, j, k in m: for _ in [0]*(k): cnt += 1 tmpi += i tmpj += j q[tmpi][tmpj] = str(cnt).zfill(3) [print(*i) for i in q] # 1, 1, 1 -> 3 # 001 002 # 004 003 # 2, 2, 2, 1, 1 -> 5 # 001 002 003 # 008 009 004 # 007 006 005 # 3, 3, 3, 2, 2, 1, 1 -> 7 # 001 002 003 004 # 012 013 014 005 # 011 016 015 006 # 010 009 008 007 # 4, 4, 4, 3, 3, 2, 2, 1, 1, -> 9 # 001 002 003 004 005 # 016 017 018 019 006 # 015 024 025 020 007 # 014 023 022 021 008 # 013 012 011 010 009