#include<iostream>
using namespace std;
const int MAX=100;
class Queue
{
public:
int *base;
int front;
int rear;
};
void InitQueue(Queue &q)
{
q.base=new int[MAX];
q.front=0;
q.rear=0;
}
void EnQueue(Queue &q,int data)
{
if(q.rear==(q.front+1)%MAX)
{
return ;
}
q.base[q.front]=data;
q.front=(q.front+1)%MAX;
}
int DeQueue(Queue &q,int &data)
{
if(q.rear==q.front)
return 0;
data=q.base[q.rear];
q.rear=(q.rear+1)%MAX;
return 1;
}
int main()
{
Queue q;
InitQueue(q);
EnQueue(q,1);
int n,data,j,temp;
cin>>n;
for(int i=1;i<=n;i++)
{
temp=0;
for(j=0;j<i;j++)
{
DeQueue(q,data);
cout<<data<<" ";
EnQueue(q,data+temp);
temp=data;
}
EnQueue(q,1);
cout<<endl;
}
cout<<endl;
return 0;
}