#include <iostream>
#include <string>
#include <math.h>
#include <map>
#include <stdio.h>
#include <ctype.h>
#include <algorithm>
#include <stdlib.h>
#include <stack>
#include <queue>

using namespace std;

int cal(int x, char ope, int y){
    if(ope=='+'){
        return x+y;
    }
    if(ope=='*'){
        return x*y;
    }
    if(ope=='-'){
        return x-y;
    }
}

char o1;
char o2;
char o3;

int out_case(char num[]){
    char o[3]={'+','*','-'};
    for(int x=0; x<3; x++){
        for(int y=0; y<3; y++){
            for(int z=0; z<3; z++){
                o1=o[x];
                o2=o[y];
                o3=o[z];
                
                
                int a, b, c, d;
                a=num[0]-'0';
                b=num[1]-'0';
                c=num[2]-'0';
                d=num[3]-'0';
                
                if(cal(cal(cal(a,o1,b),o2,c),o3,d) == 10)return 1; // (((A * B) * C) * D)
                if(cal(cal(a,o1,cal(b,o2,c)),o3,d) == 10)return 2; // ((A * (B * C)) * D)
                if(cal(a,o1,cal(b,o2,cal(c,o3,d))) == 10)return 3; // (A * (B * (C * D)))
                if(cal(a,o1,cal(cal(b,o2,c),o3,d)) == 10)return 4; // (A * ((B * C) * D))
                if(cal(cal(a,o1,b),o2,cal(c,o3,d)) == 10)return 5; // ((A * B) * (C * D))
            }
        }
    }
    return 0;
}

int main() {
    char num[4];
    
    
    while(cin>>num[0]>>num[1]>>num[2]>>num[3]){
        //cout<<num[0]<<endl;
        if(num[0]=='0'&&num[1]=='0'&&num[2]=='0'&&num[3]=='0'){
            break;
        }else{
            sort(num,num+4);
            int ans=0;
            do{
                ans = out_case(num);
                if(ans != 0)break;
            }while(next_permutation(num, num+4));
            if(ans == 0)cout << 0 << endl;
            else if(ans == 1)printf("(((%c %c %c) %c %c) %c %c)\n",num[0],o1,num[1],o2,num[2],o3,num[3]);
            else if(ans == 2)printf("((%c %c (%c %c %c)) %c %c)\n",num[0],o1,num[1],o2,num[2],o3,num[3]);
            else if(ans == 3)printf("(%c %c (%c %c (%c %c %c)))\n",num[0],o1,num[1],o2,num[2],o3,num[3]);
            else if(ans == 4)printf("(%c %c ((%c %c %c) %c %c))\n",num[0],o1,num[1],o2,num[2],o3,num[3]);
            else if(ans == 5)printf("((%c %c %c) %c (%c %c %c))\n",num[0],o1,num[1],o2,num[2],o3,num[3]);

        }
        
    }
    
    
    return 0;
}