def getList(m,n):
    '''
      m 行数
      n 列数
      返回的是m行n列的二维数组,默认值为0
    '''
    ma = [ [0 for i in range(n)] for i in range(m) ]
    return ma

def printList(arr):
    for i in arr:
        for j in i:
            print('%3d' %(j) ,end='')
        print();

n = int( input() );
a = getList(n,n)
for i in range(0,n):
    for j in range(i,n):
        a[i][j] = i + 1;
        a[j][i] = a[i][j]
        
printList(a)

/**************************************************************
	Problem: 1196
	User: admin
	Language: Python
	Result: Accepted
	Time:95 ms
	Memory:34480 kb
****************************************************************/