#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		int a[100][100] = { 0 };
		if (n == 0) { break; }
		else 
		{
			//构造杨辉三角,杨辉三角具体规律自行百度
			for(int i=0;i<n;i++)
			{
				for(int j=0;j<=i;j++)
				{
					if (j < 1) { a[i][j] = 1; }//每行第一个一定是1
					else 
					{
						a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
					}
				}
			}
			//输出
			for(int i=0;i<n;i++)
			{
				for(int j=0;j<=i;j++)
				{
					if (j == 0)printf("%d", a[i][j]);//格式控制
					else { printf(" %d", a[i][j]); }
				}
				printf("\n");
			}
		}
	}
	return 0;
}