//递归输出
//这种方法简单 但是重复计算很多 时间复杂度比较大
#include<iostream>
#include<cstdio>
using namespace std;
int func(int i,int j){
    if(j==1||j==i)
        return 1;
    else
        return func(i-1,j)+func(i-1,j-1);
}
int main(){
    int n;
    while(cin>>n){
        for(int i=2;i<=n;++i){//从第二行开始输出,测试用例很坑爹。正常应该改成1
            for(int j=1;j<=i;++j){
                cout<<func(i,j);
                if(i!=j)
                    cout<<" ";
            }
            cout<<endl;
        }
    }
}