#include <iostream>
using namespace std;
const int N = 20;
bool b[N]; // 记录该数字是否被选取
int n;
void f(int u){
if (u > n) {
// 遍历每一个数字, 如果被选取, 则将其输出
for (int i = 1; i <= n; i ++)
if (b[i]) cout << i << ' ';
cout << endl;
return;
}
b[u] = true; // 选择该数字
f(u + 1); // 往下继续搜索
b[u] = false;// 不选该数字(恢复现场)
f(u + 1); // 往下继续搜索
}
int main(){
scanf("%d", &n);
f(1);
return 0;
}