#找规律,构建二维数组
#先处理第一列.就是二维数组元素的第一个数
#然后两层循环,利用跟第一个数的关系,构建剩下的元素
#按格式输出二维数组
import sys
while True:
    try:
        n = int(input())
        l = [[1]]
        #先处理第一列.1,2,4,7
        for i in range(1, n):
            tmp = []
            tmp.append(l[i - 1][0] + i)
            l.append(tmp)
#         print(l)
        #利用跟第一列数的关系,得出其他数
        for i in range(n):
            for j in range(1,n - i):
                l[i].append(l[i][j - 1] + i+j+1)
#         print(l)
        for i in range(n):
            print(" ".join(list(map(str,l[i]))))


    except:
#         print(sys.exc_info())
        break