//37
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>

using namespace std;

bool calc(vector<int> v,vector<string> s){
  if(v.size()==1){
    if(v[0]==10){
      cout<<s[0]<<endl;
      return true;
    }else{
      return false;
    }
  }else{
    for(int i=0;i<v.size()-1;i++){
      for(int j=0;j<3;j++){
	vector<int> cv(v);
	vector<string> cs(s);
	if(j==0){
	  cv[i]=v[i]+v[i+1];
	}else if(j==1){
	  cv[i]=v[i]-v[i+1];
	}else{
	  cv[i]=v[i]*v[i+1];
	}
	const char *o="+-*";
	cs[i]='('+s[i]+' '+o[j]+' '+s[i+1]+')';
	cv.erase(cv.begin()+i+1);
	cs.erase(cs.begin()+i+1);
	if(calc(cv,cs))return true;
      }
    }
  }
  return false;
}

int main(){
  for(int a,b,c,d;cin>>a>>b>>c>>d,a|b|c|d;){
    vector<int> v(4);
    v[0]=a;
    v[1]=b;
    v[2]=c;
    v[3]=d;
    sort(v.begin(),v.end());
    bool suc;
    do{
      vector<string> s(4);
      for(int i=0;i<4;i++){
	char str[2]={};
	str[0]=v[i]+'0';
	s[i]=str;
      }
      if(suc=calc(v,s)){
	break;
      }
    }while(next_permutation(v.begin(),v.end()));
    if(!suc){
      cout<<0<<endl;
    }
  }
  return 0;
}