#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
using namespace std;
int a[50][50];
int main(){
int n;cin>>n;
a[n][1]=1;//第一个为一
for(int i=2;i<=n;i++){
a[n][i]=0;//先把最后一列归零 ,防止爆掉
}
for(int i=n-1;i>=1;i--){
for(int j=1;j<=n;j++){
a[i][j]=a[i+1][j-1]+a[i+1][j];
}
}//保存所有的杨辉三角数
for(int i=n;i>=1;i--){
for(int j=1;j<=n;j++){
if(a[i][j]!=0){
cout<<a[i][j]<<" ";//输出
}
}
cout<<endl;
}
return 0;
}
//♂_The_LYH_25_♂