#include <iostream>
#include <algorithm>

using namespace std;
int a[4];
char o[3]={'+','-','*'};
int gdb(int a,int b){
  int c;
  while(b){
    c=a%b;
    a=b;
    b=c;
  }
  return a;
}
int cl(int a,int b,int o){
  if(o==0) return a+b;
  else if(o==1) return a-b;
  else return a*b;
}
int solve(){
  do{
    for(int k=0;k<3;k++){
      for(int l=0;l<3;l++){
	for(int h=0;h<3;h++){
	  for(int m=0;m<5;m++){
	    int w,x,y,z;
	    char e,f,g;
	    w=a[0];x=a[1];y=a[2];z=a[3];
	    e=o[k];f=o[l];g=o[h];
	    if(m==0&&cl(cl(cl(w,x,k),y,l),z,h)==10){
	      cout<<"((("<<w<<" "<<e<<" "<<x<<") "<<f<<" "<<y<<") "<<g<<" "<<z<<")"<<endl;
	      return 0;
	    }
	    else if(m==1&&cl(cl(w,x,k),cl(y,z,h),l)==10){
	      cout<<"(("<<w<<" "<<e<<" "<<x<<") "<<f<<" ("<<y<<" "<<g<<" "<<z<<"))"<<endl;
	      return 0;
	    }
	    else if(m==2&&cl(cl(w,cl(x,y,l),k),z,h)==10){
	      cout<<"(("<<w<<" "<<e<<" ("<<x<<" "<<f<<" "<<y<<")) "<<g<<" "<<z<<")"<<endl;
	      return 0;
	    }
	    else if(m==3&&cl(w,cl(cl(x,y,l),z,h),k)==10){
	      cout<<"("<<w<<" "<<e<<" (("<<x<<" "<<f<<" "<<y<<") "<<g<<" "<<z<<"))"<<endl;
	      return 0;
	    }
	    else if(m==4&&cl(w,cl(x,cl(y,z,h),l),k)==10){
	      cout<<"("<<w<<" "<<e<<" ("<<x<<" "<<f<<" ("<<y<<" "<<g<<" "<<z<<")))"<<endl;
	      return 0;
	    }
	  }
	}
      }
    }
  }while(next_permutation(a, a+4));
  cout<<0<<endl;
}
	  
int main(){
  while(cin>>a[0]>>a[1]>>a[2]>>a[3]){
    if(a[0]==0) break;
    int c=gdb(a[0],gdb(a[1],gdb(a[2],a[3])));
    if(c!=1&&c!=2&&c!=5){
      cout<<0<<endl;
      continue;
    }
    sort(a,a+4);
    solve();
  }
  return 0;
}