#include <iostream>
using namespace std;
#include<vector>
int main() {
    int n;
    cin >> n;
    vector<vector<int>> triangle (n);
    //初始化
    for(int i = 0;i<n;i++){
            triangle[i].resize(i+1);
            triangle[i][0]=1;
            triangle[i][i]=1;
        //算首尾之间的元素
        for(int j = 1;j<i;j++){
        triangle[i][j]=triangle[i-1][j-1]+triangle[i-1][j];
    }
    }
   //打印
   for(int i = 0;i<n;++i){
    for(int j = 0;j<triangle[i].size();++j){
        cout << triangle[i][j] <<" ";
    }
    cout <<endl;
   }
    return 0;
}