#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int x(int s, int t, char u);
int main(){
  vector<int> n(4);
  while(cin >>n[0]>>n[1]>>n[2]>>n[3],n[0]||n[1]||n[2]||n[3]){
    sort(n.begin(),n.end());
    vector<char> a(3),b(3),c(3);
    bool f = false;
    a[0] = b[0] = c[0] = '+';
    a[1] = b[1] = c[1] = '-';
    a[2] = b[2] = c[2] = '*';
    sort(a.begin(),a.end());
    sort(b.begin(),b.end());
    sort(c.begin(),c.end());
    do{
      do{
	do{
	  do{
	    if(x(x(x(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;f = true;}
	    else if(x(x(n[0],n[1],a[0]),x(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;f = true;}
	    else if(x(x(n[0],x(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;f = true;}
	    else if(x(n[0],x(x(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;f = true;}
	    else if(x(n[0],x(n[1],x(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;f = true;}
	    if(f) break;
	  }while(next_permutation(a.begin(),a.end()));
	  if(f) break;
	}while(next_permutation(b.begin(),b.end()));
	if(f) break;
      }while(next_permutation(c.begin(),c.end()));
      if(f) break;
    }while(next_permutation(n.begin(),n.end()));
    if(!f) cout <<"0"<<endl;
  }
  return 0;
}
int x(int s, int t, char u){
  if(u == '+') return s+t;
  if(u == '-') return s-t;
  return s*t;
}