#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 25;
long long n;
long long a[MaxN];
void backtrack(long long pos, long long sum)
{
if(sum==n)
{
for (long long i=1; i<=pos-1; i++)
{
cout << a[i] << " ";
}
cout << "\n";
return ;
}
for (long long i=1; i<=n-sum; i++)
{
a[pos]=i;
backtrack(pos+1,sum+i);
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
backtrack(1,0);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAyNTsKbG9uZyBsb25nIG47CmxvbmcgbG9uZyBhW01heE5dOwp2b2lkIGJhY2t0cmFjayhsb25nIGxvbmcgcG9zLCBsb25nIGxvbmcgc3VtKQp7CiAgICBpZihzdW09PW4pCiAgICB7CiAgICAgICAgZm9yIChsb25nIGxvbmcgaT0xOyBpPD1wb3MtMTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCBhW2ldIDw8ICIgIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgICAgIHJldHVybiA7CiAgICB9CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW4tc3VtOyBpKyspCiAgICB7CgogICAgICAgICAgICBhW3Bvc109aTsKICAgICAgICAgICAgYmFja3RyYWNrKHBvcysxLHN1bStpKTsKICAgIH0KfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY2luID4+IG47CiAgICBiYWNrdHJhY2soMSwwKTsKfQo=