n = int(input())
a = [[0 for j in range(n)] for i in range(n)]
m = 1
# k认为是左对角线的偏移量
for k in range(n):
    # i为从上到下的坐标
    for i in range(0, n - k):
        a[i][k + i] = m
        a[k + i][i] = m
        m += 1

# 打印输出
for i in range(n):
    for j in range(n):
        print('%5d' % a[i][j], end='')
    print()

/**************************************************************
	Problem: 1404
	User: admin
	Language: Python
	Result: Accepted
	Time:186 ms
	Memory:34480 kb
****************************************************************/