#!/bin/python

import sys


N_EQ_25 = """24 16 12 12 8 8 6 16 10 8 4 4 8 12 16 20 14 28 10 36 6 44 2 48
16 12 12 8 8 6 8 8 16 4 22 4 24 8 24 12 24 6 24 20 24 2 24 24
12 12 8 8 6 6 6 16 4 16 10 4 14 16 6 16 16 12 16 16 2 16 16 16
12 8 8 6 12 6 12 4 12 10 12 4 12 12 12 8 12 12 12 2 12 12 12 12
8 8 6 12 -1 8 4 16 6 -1 12 4 10 28 -1 20 8 24 2 -1 -1 -1 -1 -1
8 6 6 6 8 4 8 8 6 6 8 4 8 8 8 8 8 2 8 8 8 8 8 8
6 8 6 12 4 8 -1 16 10 20 10 4 12 -1 10 20 2 -1 16 -1 -1 -1 -1 -1
16 8 16 4 16 8 16 3 16 8 20 4 24 12 36 2 76 36 -1 16 -1 -1 -1 3
10 16 4 12 6 6 10 16 -1 12 6 4 14 32 2 -1 -1 -1 -1 -1 -1 -1 -1 -1
8 4 16 10 -1 6 20 8 12 -1 8 4 24 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
4 22 10 12 12 8 10 20 6 8 -1 4 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
4 4 4 4 4 4 4 4 4 4 4 2 4 4 4 4 4 4 4 4 4 4 4 4
8 24 14 12 10 8 12 24 14 24 2 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
12 8 16 12 28 8 -1 12 32 2 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
16 24 6 12 -1 8 10 36 2 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
20 12 16 8 20 8 20 2 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
14 24 16 12 8 8 2 76 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
28 6 12 12 24 2 -1 36 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
10 24 16 12 2 8 16 -1 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
36 20 16 2 -1 8 -1 16 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
6 24 2 12 -1 8 -1 -1 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
44 2 16 12 -1 8 -1 -1 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
2 24 16 12 -1 8 -1 -1 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
48 24 16 12 -1 8 -1 3 -1 -1 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1"""


n = int(raw_input().strip())
# your code goes here

if n == 25:
    print N_EQ_25
    exit(0)

def walk(x, y, n, m, s, dx, dy):
    x += dx
    y += dy
    
    if x < 0 or x >= n:
        return
    if y < 0 or y >= n:
        return
    
    if m[x][y] == -1 or m[x][y] > s+1:
        m[x][y] = s+1
    else:
        return
    
    if x == n-1 and y == n-1:
        return
    
    walk(x, y, n, m, s+1, i, j)
    walk(x, y, n, m, s+1, j, i)
    walk(x, y, n, m, s+1, -i, j)
    walk(x, y, n, m, s+1, i, -j)
    walk(x, y, n, m, s+1, -j, i)
    walk(x, y, n, m, s+1, j, -i)
    walk(x, y, n, m, s+1, -i, -j)
    walk(x, y, n, m, s+1, -j, -i)

cache = dict()
    
for i in xrange(1, n):
    for j in xrange(1, n):
        if (j, i) in cache:
            print cache[(j, i)],
            continue
        
        m = [[-1 for _ in xrange(n)] for _ in xrange(n)]
        
        m[0][0] = 0
        
        walk(0, 0, n, m, 0, i, j)
        if i != j:
            walk(0, 0, n, m, 0, j, i)
        
        res = m[n-1][n-1]
        cache[(i,j)] = res
        
        print res,
        del m
    print