RT
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n,m) for(int i=n;i<=m;++i)
inline int read(void){
int s=0;char c=getchar();
while(c>'9'||c<'0') c=getchar();
while(c<='9'&&c>='0'){s=(s<<3)+(s<<1)+(c^48);c=getchar();}
return s;
}
int n,t=1,v;
queue<int> q;
void print(void){
t=q.front();
cout<<q.front();
q.pop();
while(!q.empty()){cout<<"+"<<q.front();q.pop();}
cout<<"\n";
}
void dfs(int sum){
t=q.empty()?t:q.front();
rep(i,t,sum)
if(i<n){
q.push(i);
if(sum-i==0) print();
else dfs(sum-i);
}
}
int main(){
n=read();
dfs(n);
return 0;
}