#include <vector>
#include <iostream>
using namespace std;
void dfs(int n,int sum,int s,vector<int>& res){
if(sum == n){
if(res.size()<=1){
return;
}
for_each(res.begin(),res.end(),[](int val){
cout<<val<<" ";
});
cout<<endl;
return;
}
for(int i = s;i<=n-sum;i++){
res.push_back(i);
dfs(n,sum+i,i,res);
res.pop_back();
}
}
int main() {
vector<int> v;
int n;
scanf("%d",&n);
dfs(n,0,1,v);
}