/*二进制枚举*/
#include <iostream>
using namespace std;
int n;
int main(){
cin>>n;
//1<<n位表示2^n可能
for(int i=0;i<(1<<n);i++){
for(int j=0;j<n;j++){
//获得其第j位的数字,若是1就输出
if(i>>j&1) printf("%d ",j+1);
}
printf("\n");
}
}