#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);
}