#include<iostream>
#include<vector>
using namespace std;
vector<int>a(1,1);
vector<int>print(vector<int>s){
vector<int>ans;
s.insert(s.begin(),0);//补0
s.insert(s.end(),0);//
for(int i=0;i<s.size()-1;i++){
ans.push_back(s[i]+s[i+1]);//等于前一行相邻两数之和
}
return ans;
}
int main(){
int n;
scanf("%d",&n);
printf("%5d\n",1);
if(n==1)return 0;
else{
int j=1;
vector<int>b(a);
while(j<n){
vector<int>x=print(b);
for(int i=0;i<x.size();i++){
if(i==0)printf("%5d",x[i]);
else printf("%5d",x[i]);
}
printf("\n");
j++;
b=x;
}
}
return 0;
}