#include<stdio.h>
int main()
{
    int n = 0;
    scanf("%d",&n);
    int arr[100][100]={0};//创建二维数组
    int i = 0;
    int j = 0;
    for(i=0;i<n;i++)//控制行
    {
        for(j=0;j<n;j++)//控制列
        {
            if(j==0)//第一列全部打印成1
            {
                arr[i][j]=1;
            }
            else if(i==j)//主对角线全部打印成1
            {
                arr[i][j]=1;
            }
            if(i>=2&&j>=1)//杨辉三角是从第三行开始变化 第三行的 2 的坐标为arr[2][1]
            {
                arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
            }//这个2 是上一行的第一列 和第二列相加得出 以此类推
        }
    }
    for(i=0;i<n;i++)//打印杨辉三角
    {
        
        for(j=0;j<=i;j++)
        {
            printf("%5d",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}