#!/bin/python3

import sys

def knight_l(a, b, n):
    field = [[i for i in range(n)] for j in range(n)]
    path = [(0, 0)]
    for i in range(1, 9):
        (position_x, position_y) = path[-1]
        if position_x == n-1 and position_y == n-1:
            return len(path)
        elif a < n-position_x:
            if b < n-position_y:
                path.append((position_x+a, position_y+b))
            elif 0 <= position_y-b:
                path.append((position_x+a, position_y-b))
        elif a < n-position_y:
            if b < n-position_x:
                path.append((position_x+b, position_y+a))
            elif 0 <= position_x-b:
                path.append((position_x-b, position_y+a))
        elif b < n-position_x:
            if 0 <= position_y-a:
                path.append((position_x+b, position_y-a))
        elif b < n-position_y:
            if 0 <= position_x-a:
                path.append((position_x-a, position_y+b))
        elif 0 <= position_x-a:
            if 0 <= position_y-b:
                path.append((position_x-a, position_y-b))
        elif 0 <= position_y-a:
            if 0 <= position_x-b:
                path.append((position_x-b, position_y-a))
        else:
            return -1
    return len(path) 
            

n = int(input().strip())
for i in range(n):
    line = ""
    for j in range(n):
        line += str(knight_l(i, j, n)) + " "
    print(line)