#include<iostream>
using namespace std;


class cell{
public:
  int v;
  int op;
  int l,r;
  void set(int x,int y, int z,int w){
    v = x;
    op = y;
    l = z;
    r = w;
  }
};

cell num[7];
bool use[7];
bool f;

int cal(int a,int b,int c){
  if(c == 0)return a+b;
  if(c == 1)return a*b;
  if(c == 2)return a-b;
  else return -1;
}   

void rec(int a){
  if(a==7 && num[6].v == 10){
    f = true;
    return;
  }
  if(f)return;

  for(int i=0;i<a;i++){
    if(!use[i]){
      use[i] = true;
      for(int j=0;j<a;j++){
	if(!use[j]){
	  use[j] = true;

	  use[a] = false;
	  for(int k=0;k<3;k++){
	    int tmp = cal(num[i].v,num[j].v,k);
	    num[a].set(tmp,k,i,j);
	    rec(a+1);
	    if(f)return;
	  }
	  use[a] = true;

	  use[j] = false;
	}
      }
      use[i] = false;
    }
  }
}

void cell_print(int n){
  if(num[n].l<0)cout << num[n].v;
  else{
    cout << "(";
    cell_print(num[n].l);
    if(num[n].op == 0)cout << " + ";
    if(num[n].op == 1)cout << " * ";
    if(num[n].op == 2)cout << " - ";
    cell_print(num[n].r);
    cout << ")";
  }
}

int main(){
  int a,b,c,d;

  while(1){
    cin >> a >> b >> c >> d;
    if(!a && !b && !c && !d)break;

    num[0].set(a,-1,-1,-1);
    num[1].set(b,-1,-1,-1);
    num[2].set(c,-1,-1,-1);
    num[3].set(d,-1,-1,-1);
    for(int i=4;i<7;i++)num[i].set(-1,-1,-1,-1);

    for(int i=0;i<7;i++)use[i] = (i>=4);

    f = false;
    rec(4);

    if(f){
      cell_print(6);
      cout << endl;
    }
    else cout << 0 << endl;
  }
}