#include<bits/stdc++.h>
using namespace std;
//check là con sau phải lớn hơn (0) hay nhỏ hơn (1)
const int MaxN = 35;
int n;
int a[MaxN];
void backtrack(int pos, int sum,int val, int check)
{
if(sum==n)
{
for (int i=1; i<=pos-1; i++)
{
cout << a[i] << " ";
}
cout << "\n";
return ;
}
if(pos==1)
{
for (int i=1; i<=n; i++)
{
a[pos]=i;
if(i==1)
{
backtrack(pos+1,sum+i,i,0);
}
else if(i==n)
{
backtrack(pos+1,sum+i,i,1);
}
else
{
backtrack(pos+1,sum+i,i,1);
backtrack(pos+1,sum+i,i,0);
}
}
}
else
{
if(check==0)
{
for (long long i=val+1; i<=n-sum; i++)
{
a[pos]=i;
backtrack(pos+1,sum+i,i,1);
}
}
else
{
for (long long i=1; i<val; i++)
{
a[pos]=i;
backtrack(pos+1,sum+i,i,0);
}
}
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
backtrack(1,0,0,0);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy9jaGVjayBsw6AgY29uIHNhdSBwaOG6o2kgbOG7m24gaMahbiAoMCkgaGF5IG5o4buPIGjGoW4gKDEpCmNvbnN0IGludCBNYXhOID0gMzU7CmludCBuOwppbnQgYVtNYXhOXTsKdm9pZCBiYWNrdHJhY2soaW50IHBvcywgaW50IHN1bSxpbnQgdmFsLCBpbnQgY2hlY2spCnsKICAgIGlmKHN1bT09bikKICAgIHsKICAgICAgICBmb3IgKGludCBpPTE7IGk8PXBvcy0xOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IGFbaV0gPDwgIiAiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICAgICAgcmV0dXJuIDsKICAgIH0KICAgIGlmKHBvcz09MSkKICAgIHsKICAgICAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGFbcG9zXT1pOwogICAgICAgICAgICBpZihpPT0xKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBiYWNrdHJhY2socG9zKzEsc3VtK2ksaSwwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKGk9PW4pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGJhY2t0cmFjayhwb3MrMSxzdW0raSxpLDEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgYmFja3RyYWNrKHBvcysxLHN1bStpLGksMSk7CiAgICAgICAgICAgICAgICBiYWNrdHJhY2socG9zKzEsc3VtK2ksaSwwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBpZihjaGVjaz09MCkKICAgICAgICB7CiAgICAgICAgICAgIGZvciAobG9uZyBsb25nIGk9dmFsKzE7IGk8PW4tc3VtOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGFbcG9zXT1pOwogICAgICAgICAgICAgICAgYmFja3RyYWNrKHBvcysxLHN1bStpLGksMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChsb25nIGxvbmcgaT0xOyBpPHZhbDsgaSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBhW3Bvc109aTsKICAgICAgICAgICAgICAgIGJhY2t0cmFjayhwb3MrMSxzdW0raSxpLDApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjaW4gPj4gbjsKICAgIGJhY2t0cmFjaygxLDAsMCwwKTsKfQo=