#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;

int cal(int a, int b, char c){
    if(c=='+')return a+b;
    if(c=='-')return a-b;
    if(c=='*')return a*b;
    return 0;
}
int main(){
    int a[4];
    char op[3]={'+','-','*'};
    while(cin>>a[0]>>a[1]>>a[2]>>a[3]){
        if(a[0]==0&&a[1]==0&&a[2]==0&&a[3]==0)
            break;
        for(int i=0;i<4;i++){
            vector<int>vec;
            for(int i=0;i<4;i++){
                vec.push_back(a[i]);
            }
            int ai=a[i];
            vec.erase(find(vec.begin(),vec.end(),ai));
           // cout<<"----------------------------"<<endl<<"ai: "<<ai<<" ";
            for(int j=0;j<4;j++){
                int aj=a[j];
                if(find(vec.begin(),vec.end(),aj)==vec.end())continue;
                vec.erase(find(vec.begin(),vec.end(),aj));
               // cout<<"aj: "<<aj<<" ";
                for(int k=0;k<4;k++){
                    int ak=a[k];
                    if(find(vec.begin(),vec.end(),ak)==vec.end())continue;
                    vec.erase(find(vec.begin(),vec.end(),ak));
                   // cout<<"ak: "<<ak<<" ";
                    for(int m=0;m<4;m++){
                        int am=a[m];
                        if(find(vec.begin(),vec.end(),am)==vec.end())continue;
                        vec.erase(find(vec.begin(),vec.end(),am));
                      //  cout<<"am: "<<am<<endl;
                        for(int p=0;p<3;p++){
                            for(int q=0;q<3;q++){
                                for(int n=0;n<3;n++){
                                    
                                    //123
                                    int ap=cal(ai,aj,op[p]);
                                    int aq=cal(ap,ak,op[q]);
                                    int an=cal(aq,am,op[n]);
                      //              cout<<"  an: "<<an<<endl;
                                    if(an==10){
                                        cout<<"((("<<ai<<" "<<op[p]<<" "<<aj<<") "<<op[q]<<" "<<ak<<") "<<op[n]<<" "<<am<<")"<<endl;
                                        goto next;
                                    }
                                    //132
                                    ap=cal(ai,aj,op[p]);
                                    aq=cal(ak,am,op[q]);
                                    an=cal(ap,aq,op[n]);
                                    if(an==10){
                                        cout<<"(("<<ai<<" "<<op[p]<<" "<<aj<<") "<<op[n]<<" ("<<ak<<" "<<op[q]<<" "<<am<<"))"<<endl;
                                        goto next;
                                    }
                                    
                                    
                                    
                                    
                                    
                                }
                            }
                        }
                        vec.push_back(am);
                    }
                    vec.push_back(ak);
                }
                vec.push_back(aj);
            }
            vec.push_back(ai);
        }
        cout<<0<<endl;
    next:;
    }
}