#!/bin/python3

import sys


n = int(input().strip())
found=[]
array = [[-2 for i in range(n)] for j in range(n)]
array[n-1][n-1]=1
def gopath(x,y,a,b,path):
    if 0<=(x+a)<n:
        if 0<=(y+b)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x+a)+'.'+str(y+b)+'-'
            
            if (x+a == y+b and y+b == n-1):
                found.append(path1+temp)
            elif (path1.find(temp)== -1):
                gopath(x+a,y+b,a,b,path1)
        if 0<=(y-b)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x+a)+'.'+str(y-b)+'-'
           
            if (x+a == y-b and y-b == n-1):
                found.append(path1+temp)
            elif (path1.find(temp)== -1):
                gopath(x+a,y-b,a,b,path1)      
    if 0<=(x-a)<n:
        if 0<=(y+b)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x-a)+'.'+str(y+b)+'-'
            
            if (x-a == y+b and y+b == n-1):
                found.append(path1+temp)
            elif (path.find(temp)== -1):
                gopath(x-a,y+b,a,b,path1)
        if 0<=(y-b)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x-a)+'.'+str(y-b)+'-'
            
            if (x-a == y-b and y-b == n-1):
                found.append(path1+temp)
            elif (path1.find(temp)== -1):
                gopath(x-a,y-b,a,b,path1)               
    if 0<=(x+b)<n:
        if 0<=(y+a)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x+b)+'.'+str(y+a)+'-'
            
            if (x+b == y+a and y+a == n-1):
                found.append(path1+temp)
            elif (path1.find(temp)== -1):
                gopath(x+b,y+a,a,b,path1)
        if 0<=(y-a)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x+b)+'.'+str(y-a)+'-'
            
            if (x+b == y-a and y-a == n-1):
                found.append(path1+temp)
            elif (path1.find(temp)== -1):
                gopath(x+b,y-a,a,b,path1)      
    if 0<=(x-b)<n:
        if 0<=(y+a)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x-b)+'.'+str(y+a)+'-'
            
            if (x-b == y+a and y+a == n-1):
                found.append(path1+temp)
            elif (path1.find(temp)== -1):
                gopath(x-b,y+a,a,b,path1)
        if 0<=(y-a)<n:
            path1 = path+',-'+str(x)+'.'+str(y)+'-'
            temp = ',-'+str(x-b)+'.'+str(y-a)+'-'
            
            if (x-b == y-a and y-a == n-1):
                found.append(path1+temp)
            elif (path1.find(temp)== -1):
                gopath(x-b,y-a,a,b,path1)       
       

for i in range(1,n):
    for j in range(1,n):
        if (array[j][i]== -2 or (i!= n-1 and j!= n-1)) :
            found= []
            gopath(i,j,i,j,',-0.0-')
            if found:
                counter =None
                final =found[0]
                for x in found:
                    if counter== None:
                        counter = x.count(',')
                    elif counter> x.count(','):
                        counter = x.count(',')
                        final = x
                array[i][j]= counter-1
                array[j][i]= counter-1
            else:
                array[i][j]= -1
                array[j][i]= -1
for i in range(1,n):
    for j in range(1,n):
        print(array[i][j],'',end ='')
    print('')