"""
[1],
[1, 1],
[1, 2, 1],
[1, 3, 3, 1],
[1, 4, 6, 4, 1],
[1, 5, 10, 10, 5, 1]
"""
n = int(input("输入2-15"))
sList = []
print([1])
print([1,1])
a = [1,1]
sList=[[1],[1,1]]
#从第三行开始 , for i in range(3):
for i in range(3,n+1): #
#每次都设置为空列表
b = []
#循环把数字添加到列表中, 添加的数字就是上一行的前两个数字和
for j in range(i-2):
b.append(a[j] + a[j+1])
#最终结果 ,在左右两边各拼接一个1
a = [1] + b + [1] #[1,2,1]
print(a)
sList.append(a)
for i in range(len(sList)):
xList = sList[i] #[1, 2, 1]
print(((n-i)*5)//2*" ",end="") #显示每行数字前面的空格 空格越来越少
for j in range(len(xList)):
if len(str(xList[j])) >= 2: #如果数字是两位数,那么数字和数字后面的空格一共五位
print("{:<5d}".format(xList[j]),end="")
else:
print(xList[j],end=4 * " ")
print("")