#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <algorithm>
#include <stack>
#include <math.h>
using namespace std;
#define N 110
int a[N][N];
void yh()
{
for (int i = 1; i <= 30; i++)
for (int j = 1; j <= i; j++)
{
if (j == 1 || j == i) a[i][j] = 1;
else a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
int main()
{
yh();
int n;
while (cin >> n)
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j < i; j++)
cout << a[i][j] << " ";
cout << 1 << endl;
}
cout << endl;
}
}
#include <cstring>
#include <string>
#include <cstdio>
#include <algorithm>
#include <stack>
#include <math.h>
using namespace std;
#define N 110
int a[N][N];
void yh()
{
for (int i = 1; i <= 30; i++)
for (int j = 1; j <= i; j++)
{
if (j == 1 || j == i) a[i][j] = 1;
else a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
int main()
{
yh();
int n;
while (cin >> n)
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j < i; j++)
cout << a[i][j] << " ";
cout << 1 << endl;
}
cout << endl;
}
}