def spiral_from_center(n):
    # створюємо матрицю нулями
    matrix = [[0 for _ in range(n)] for _ in range(n)]
 
    # координати центру
    x = y = n // 2
    num = 1
    matrix[y][x] = num
 
    # напрямки (вправо, вниз, вліво, вгору)
    directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]
    step = 1
 
    while num < n * n:
        for i, (dx, dy) in enumerate(directions):
            for _ in range(step):
                if num >= n * n:
                    break
                x += dx
                y += dy
                num += 1
                if 0 <= x < n and 0 <= y < n:
                    matrix[x][y] = num
            if i % 2 == 1:
                step += 1
 
    return matrix
 
 
# --- головна програма ---
n = 17
matrix = spiral_from_center(n)
 
# гарне виведення квадратом
for row in matrix:
    print(" ".join(f"{x:3}" for x in row))
				ZGVmIHNwaXJhbF9mcm9tX2NlbnRlcihuKToKICAgICMg0YHRgtCy0L7RgNGO0ZTQvNC+INC80LDRgtGA0LjRhtGOINC90YPQu9GP0LzQuAogICAgbWF0cml4ID0gW1swIGZvciBfIGluIHJhbmdlKG4pXSBmb3IgXyBpbiByYW5nZShuKV0KIAogICAgIyDQutC+0L7RgNC00LjQvdCw0YLQuCDRhtC10L3RgtGA0YMKICAgIHggPSB5ID0gbiAvLyAyCiAgICBudW0gPSAxCiAgICBtYXRyaXhbeV1beF0gPSBudW0KIAogICAgIyDQvdCw0L/RgNGP0LzQutC4ICjQstC/0YDQsNCy0L4sINCy0L3QuNC3LCDQstC70ZbQstC+LCDQstCz0L7RgNGDKQogICAgZGlyZWN0aW9ucyA9IFsoMCwgMSksICgxLCAwKSwgKDAsIC0xKSwgKC0xLCAwKV0KICAgIHN0ZXAgPSAxCiAKICAgIHdoaWxlIG51bSA8IG4gKiBuOgogICAgICAgIGZvciBpLCAoZHgsIGR5KSBpbiBlbnVtZXJhdGUoZGlyZWN0aW9ucyk6CiAgICAgICAgICAgIGZvciBfIGluIHJhbmdlKHN0ZXApOgogICAgICAgICAgICAgICAgaWYgbnVtID49IG4gKiBuOgogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICB4ICs9IGR4CiAgICAgICAgICAgICAgICB5ICs9IGR5CiAgICAgICAgICAgICAgICBudW0gKz0gMQogICAgICAgICAgICAgICAgaWYgMCA8PSB4IDwgbiBhbmQgMCA8PSB5IDwgbjoKICAgICAgICAgICAgICAgICAgICBtYXRyaXhbeF1beV0gPSBudW0KICAgICAgICAgICAgaWYgaSAlIDIgPT0gMToKICAgICAgICAgICAgICAgIHN0ZXAgKz0gMQogCiAgICByZXR1cm4gbWF0cml4CiAKIAojIC0tLSDQs9C+0LvQvtCy0L3QsCDQv9GA0L7Qs9GA0LDQvNCwIC0tLQpuID0gMTcKbWF0cml4ID0gc3BpcmFsX2Zyb21fY2VudGVyKG4pCiAKIyDQs9Cw0YDQvdC1INCy0LjQstC10LTQtdC90L3RjyDQutCy0LDQtNGA0LDRgtC+0LwKZm9yIHJvdyBpbiBtYXRyaXg6CiAgICBwcmludCgiICIuam9pbihmInt4OjN9IiBmb3IgeCBpbiByb3cpKQ==