#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n;
int a[1000005]={1};
void inprintf(int t)
{
for(register int i=1;i<=t-1;i++)
{
cout<<a[i]<<"+";
}
cout<<a[t]<<endl;
}
void DFS(int s,int t)
{
for(register int i=a[t-1];i<=s;i++)
{
if(i<n)
{
a[t]=i;
s-=i;
if(s==0)
{
inprintf(t);
}
else
{
DFS(s,t+1);
}
s+=i;(这是什么意思,如何回溯一步)
}
}
}
int main()
{
scanf("%d",&n);
DFS(n,1);
return 0;
}