#include <iostream>
#include <cstdio>
using namespace std;
pair<int,string> make(pair<int ,string> a,pair<int,string> b,char ope)
{
  pair<int ,string> tmp;
  if(ope=='+')
    tmp.first=a.first+b.first;

  if(ope=='-')
    tmp.first=a.first-b.first;

  if(ope=='*')
    tmp.first=a.first*b.first;
  tmp.second="("+a.second+" "+ope+" "+b.second+")";
    return tmp;


}

string solve(int a,int b ,int c,int d)
{
  string ans="";
  char s[]={'+','-','*'};
  for(int i=0;i<3;i++)
    for(int j=0;j<3;j++)
      for(int k=0;k<3;k++)
	{
	  string aa =" ";
	  aa[0]=a+'0';
	  string bb =" ";
	  bb[0]=(b+'0');
	  string cc =" ";
	  cc[0]=(c+'0');
	  string dd =" ";
	  dd[0]=(d+'0');
	  // cout<<a<<s[i]<<b<<s[j]<<c<<s[k]<<d<<endl;
	  //cout<<aa<<" "<<bb<<" "<<cc<<" "<<dd<<endl;
	  pair<int ,string> tmp =  make(make_pair(a,aa),make_pair(b,bb),s[i]);
	  tmp= make(tmp,make_pair(c,cc),s[j]);
	  tmp=
	    make(tmp,make_pair(d,dd),s[k]);
	  if(tmp.first==10)
	    return tmp.second;


	  tmp =  make(make_pair(a,aa),make_pair(b,bb),s[i]);
	  pair<int,string> tmp2 = make(make_pair(c,cc),make_pair(d,dd),s[k]);
	  tmp=
	    make(tmp,tmp2,s[j]);
	  if(tmp.first==10)
	    return tmp.second;
	}

  return "0";

}
int main()
{
  int a,b,c,d;
  //  char s[]={'+','-','*'};
  for(;cin>>a>>b>>c>>d,a||b||c||d;)
    {
      int data[4]={a,b,c,d};
      string ans="0";
      for(int i=0;i<4;i++)
	for(int j=0;j<4;j++)
	  for(int k=0;k<4;k++)
	    for(int l=0;l<4;l++)
	      {
		if(ans!="0")
		  {break;}
		if(i!=j && i!=k&& i!=l &&
		   j!=k && j!=l&& k!=l )
		  ans=solve(data[i],data[j],data[k],data[l]);
	      }
      cout<<ans<<endl;
    }
}