#include <iostream>
#include <cstdio>
using namespace std;
//英语 看博友分析 抄博友程序 没敢改变程序结果 dfs 没掌握
int num[30];//0. 1+ 2-
int js;
int n;
void dfs(int x)
{
if(x==(n+1))
{
int jg=0;
int p;
int flag;
for(int i=1;i<=n;)//巧妙
{
if(num[i]==1)flag=1;
if(num[i]==2)flag=0;
p=i;
i++;
while(num[i]==0&& i<=n)//抄博友
{
if(i<10)
{
p=p*10+i;
}else
{
p=p*100+i;
}
i++;
}
if(flag==1)
{
jg=jg+p;
}else if(flag==0)
{
jg=jg-p;
}
}
if(jg==0)
{
js++;
if(js<=20)//
{
cout<<1;
for(int i=2;i<=n;i++)
{
if(num[i]==0)cout<<" . ";
if(num[i]==1)cout<<" + ";
if(num[i]==2)cout<<" - ";
cout<<i;
}
cout<<endl;
}
}
return;
}
num[x]=1;
dfs(x+1);
num[x]=2;
dfs(x+1);
num[x]=0;
dfs(x+1);
return;
}
int main()
{
cin>>n;
num[1]=1;//0+
js=0;
dfs(2);
cout<<js<<endl;
return 0;
}