#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 105;
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=max(a[pos-1],1ll); i<=n-sum; i+=2)
{
a[pos]=i;
backtrack(pos+1,sum+i);
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
backtrack(1,0);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAxMDU7CmxvbmcgbG9uZyBuOwpsb25nIGxvbmcgYVtNYXhOXTsKdm9pZCBiYWNrdHJhY2sobG9uZyBsb25nIHBvcywgbG9uZyBsb25nIHN1bSkKewogICAgaWYoc3VtPT1uKQogICAgewogICAgICAgIGZvciAobG9uZyBsb25nIGk9MTsgaTw9cG9zLTE7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgYVtpXSA8PCAiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgIlxuIjsKICAgICAgICByZXR1cm4gOwogICAgfQogICAgZm9yIChsb25nIGxvbmcgaT1tYXgoYVtwb3MtMV0sMWxsKTsgaTw9bi1zdW07IGkrPTIpCiAgICB7CiAgICAgICAgICAgIGFbcG9zXT1pOwogICAgICAgICAgICBiYWNrdHJhY2socG9zKzEsc3VtK2kpOwogICAgfQp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjaW4gPj4gbjsKICAgIGJhY2t0cmFjaygxLDApOwp9Cg==