#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int arith(int a, int b, char op);
int main(){
  vector<int> n(4);
  vector<char> a(3),b(3),c(3);
  a[0] = '+';a[1] = '-';a[2] = '*';
  sort(a.begin(),a.end());
  for(int i=0; i<3; i++) b[i] = c[i] = a[i];
  while(cin >>n[0]>>n[1]>>n[2]>>n[3],n[0]||n[1]||n[2]||n[3]){
    sort(n.begin(),n.end());
    do{
      do{
	do{
	  do{
	    if(arith(arith(arith(n[0],n[1],a[0]),n[2],b[0]),n[3],c[0]) == 10){
	      cout <<"((("<<n[0]<<" "<<a[0]<<" "<<n[1]<<") "<<b[0]<<" "<<n[2]<<") "<<c[0]<<" "<<n[3]<<")"<<endl;
	      goto flag;
	    }
	    if(arith(arith(n[0],n[1],a[0]),arith(n[2],n[3],c[0]),b[0]) == 10){
	      cout <<"(("<<n[0]<<" "<<a[0]<<" "<<n[1]<<") "<<b[0]<<" ("<<n[2]<<" "<<c[0]<<" "<<n[3]<<"))"<<endl;
	      goto flag;
	    }
	    if(arith(arith(n[0],arith(n[1],n[2],b[0]),a[0]),n[3],c[0]) == 10){
	      cout <<"(("<<n[0]<<" "<<a[0]<<" ("<<n[1]<<" "<<b[0]<<" "<<n[2]<<")) "<<c[0]<<" "<<n[3]<<")"<<endl;
	      goto flag;
	    }
	    if(arith(n[0],arith(arith(n[1],n[2],b[0]),n[3],c[0]),a[0]) == 10){
	      cout <<"("<<n[0]<<" "<<a[0]<<" (("<<n[1]<<" "<<b[0]<<" "<<n[2]<<") "<<c[0]<<" "<<n[3]<<"))"<<endl;
	      goto flag;
	    }
	    if(arith(n[0],arith(n[1],arith(n[2],n[3],c[0]),b[0]),a[0]) == 10){
	      cout <<"("<<n[0]<<" "<<a[0]<<" ("<<n[1]<<" "<<b[0]<<" ("<<n[2]<<" "<<c[0]<<" "<<n[3]<<")))"<<endl;
	      goto flag;
	    }
	  }while(next_permutation(a.begin(),a.end()));
	}while(next_permutation(b.begin(),b.end()));
      }while(next_permutation(c.begin(),c.end()));
    }while(next_permutation(n.begin(),n.end()));
    cout <<"0"<<endl;
  flag:;
  }
  return 0;
}
int arith(int a, int b, char op){
  if(op == '+') return a+b;
  if(op == '-') return a-b;
  if(op == '*') return a*b;
  return -1;
}