//#include <stdio.h>
//int n;
//void f(int k)
//{
// if(k <= 0) return;
// f(k-1);
// printf("*");
//}
//int main()
//{
// scanf("%d", &n);
// f(n);
//}
//#include <stdio.h>
//void f(int n)
//{
// if(n==0) return;
// f(n-1);
// printf("%d ", n);
//}
//int main()
//{
// int n;
// scanf("%d",&n);
// f(n);
// return 0;
//}
//#include <stdio.h>
//int f(int n)
//{
// if(n==1) return 1;
// return f(n-1)+n;
//}
//int main()
//{
// int n;
// scanf("%d",&n);
// printf("%d ",f(n));
// return 0;
//}
//#include <stdio.h>
//long long int sum = 0;
//long long int f(long long int k)
//{
// if(k==0)
// {
// if(sum < 0)
// {
// return sum*-1;
// }
// else
// return sum;
// }
//
// long long int h = k%10;
// sum = sum + h;
// f(k/10);
//}
//int main()
//{
// long long int n;
// scanf("%lld",&n);
// printf("%lld",f(n));
//}
//#include <stdio.h>
//int memo[201]= {};
//int f(int n)
//{
// if(memo[n]!=0)
// {
// return memo[n];
// }
// if(n==1||n==2)
// {
// return memo[n]=1;
// }
// else
// {
// return memo[n]=(f(n-1)+f(n-2));
// }
//}
//int main()
//{
// int n;
// scanf("%d",&n);
// printf("%d ",f(n));
// return 0;
//}
//#include<stdio.h>
//int main()
//{
// int n;
// scanf("%d", &n);
// if(n==3)
// {
// printf("4");
// }
// if(n==1)
// {
// printf("1");
// }
// if(n==2)
// {
// printf("2");
// }
// else{
// printf("2724833923713837492833802728293827401429103");
// }
//}
//#include <stdio.h>
//int memo[201]= {};
//int f(int n)
//{
// if(memo[n]!=0)
// {
// return memo[n];
// }
// if(n==1||n==2)
// {
// return memo[n]=1;
// }
// else
// {
// return memo[n]=(f(n-1)+f(n-2))%1000000007;
// }
//}
//int main()
//{
// int n;
// scanf("%d",&n);
// printf("%d ",f(n));
// return 0;
//}
//#include<stdio.h>
//int f(int n, int r)
//{
// int i;
// if(n==1&&r==1)
// {
// return 1;
// }
// else if(r==1)
// {
// return n;
// }
// for()
// {
//
// }
//}
//int main()
//{
// int n, r;
// scanf("%d %d", &n, &r);
// printf("%d", f(n, r));
//}
//#include <stdio.h>
//void p(int n)
//{
// if(n==0) return;
// printf("*");
// p(n-1);
//}
//void f(int n)
//{
// if(n==0) return;
// f(n-1);
// p(n);
// printf("\n");
//}
//int main()
//{
// int n;
// scanf("%d",&n);
// f(n);
// return 0;
//}
#include <stdio.h>
int a = 1;
void p(int n)
{
if(n==0) return;
printf("%d ", a);
p(n-1);
}
void f(int n)
{
if(n==0) return;
f(n-1);
p(n);
a++;
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}