n=int(input().strip())
# 初始化杨辉三角
triangle=[]
for i in range(n):
    #当前行
    row=[]
    # 第i行有i+1个元素
    for j in range(i+1):
        # 行首和行尾元素
        if j==0 or j==i:
            row.append(1)
        else:
            # 上一行
            prev_row=triangle[i-1]
            # 中间元素=上一行前一列+上一行的当前列
            row.append(prev_row[j-1]+prev_row[j])
    # 把当前行添加到三角形
    triangle.append(row)
for row in triangle:
    print(" ".join(map(str,row)))