#!/bin/python3

import sys


n = int(input().strip())
# your code goes here
A=[]
for a in range(1,n):
    B=[]
    for b in range(1,n):
        P={(0,0)}
        c=0
        f=True
        V=set()
        while f:
            c+=1
            Q=set()
            
            V=V|P
            for p in P:
                if (p[0]==n-1)&(p[1]==n-1):
                    f=False
                    break
                if (0<=p[0]+a<n)&(0<=p[1]+b<n):
                    Q.add((p[0]+a,p[1]+b))
                if (0<=p[0]-a<n)&(0<=p[1]-b<n):
                    Q.add((p[0]-a,p[1]-b))
                if (0<=p[0]-a<n)&(0<=p[1]+b<n):
                    Q.add((p[0]-a,p[1]+b))
                if (0<=p[0]+a<n)&(0<=p[1]-b<n):
                    Q.add((p[0]+a,p[1]-b))       
                    
                if (0<=p[0]+b<n)&(0<=p[1]+a<n):
                    Q.add((p[0]+b,p[1]+a))
                if (0<=p[0]-b<n)&(0<=p[1]-a<n):
                    Q.add((p[0]-b,p[1]-a))
                if (0<=p[0]-b<n)&(0<=p[1]+a<n):
                    Q.add((p[0]-b,p[1]+a))
                if (0<=p[0]+b<n)&(0<=p[1]-a<n):
                    Q.add((p[0]+b,p[1]-a))                    

                    
            
            P=set()
            P=P|Q
            P=P-V
            if len(P)==0:
                break
        if not f:
            B.append(c-1)
        else:
            B.append(-1)
    A.append(B)
for a in A:
    for b in a:
        print(b,end= " ")
    print("")