#include<iostream>
#include<cstdio>
using namespace std;
#define rep(i, n) for(i = 0;i < n;++i)

void change(int a[4], int n){
  int tmp = a[0], i;
  rep(i, n - 1)a[i] = a[i + 1];
  a[i] = tmp;
  return;
}

int f(int l, int c, int r){
  if(c == 0)return l + r;
  if(c == 1)return l - r;
  return l * r;
}

signed main(void){
  int a[4], i[3], j[3];
  string s = "+-*";
  for(;;){
    rep(i[0], 4)scanf("%d", &a[i[0]]);
    if(!(a[0] | a[1] | a[2] | a[3]))break;
    bool fl = false;
    rep(i[0], 4){rep(i[1], 3){rep(i[2], 2){
      rep(j[0], 3)rep(j[1], 3)rep(j[2], 3)
      if(f(f(f(a[0], j[0], a[1]), j[1], a[2]), j[2], a[3]) == 10){
        fl = true;
        printf("(((%d %c %d) %c %d) %c %d)\n", a[0], s[j[0]], a[1], s[j[1]], a[2], s[j[2]], a[3]);
        i[0] = 4; i[1] = 3; i[2] = 2; j[0] = 3; j[1] = 3; j[2] = 3;
      }else if(f(f(a[0], j[0], a[1]), j[1], f(a[2], j[2], a[3])) == 10){
        fl = true;
        printf("((%d %c %d) %c (%d %c %d))\n", a[0], s[j[0]], a[1], s[j[1]], a[2], s[j[2]], a[3]);
        i[0] = 4; i[1] = 3; i[2] = 2; j[0] = 3; j[1] = 3; j[2] = 3;
      }
      change(a, 2);}change(a, 3);}change(a, 4);
    }
    if(!fl)cout << 0 << endl;
  }

  return 0;
}