#include <cstdio>
#include <algorithm>
using namespace std;

char mark[4] = "+-*";

int oper(int cmd, int lhs, int rhs){
    switch(cmd){
        case 0: return lhs + rhs;
        case 1: return lhs - rhs;
        case 2: return lhs * rhs;
    }
    return 0;
}

int main(){
    int n[4];
    bool success;
    while( true ){
        success = false;
        scanf("%d %d %d %d", n, n+1, n+2, n+3);
        if( n[0] + n[1] + n[2] + n[3] == 0) break;
        sort(n, n + 4);
        int i, j, k;
        do{
            for(i = 0; !success && i < 3; i++){
                for(j = 0; !success && j < 3; j++){
                    for(k = 0; !success && k < 3; k++){
                        int res = oper(k, oper(j, oper(i, n[0], n[1]), n[2]), n[3]);
                        if( res == 10 ){
                            success = true;
                            break;
                        }
                    }
                }
            }
        }while( !success && next_permutation(n, n + 4) );
        if( success ){
            i--; j--;
            printf("(((%d %c %d) %c %d) %c %d)\n", n[0], mark[i], n[1], mark[j], n[2], mark[k], n[3]);
            continue;
        }
        do{
            for(i = 0; !success && i < 3; i++){
                for(j = 0; !success && j < 3; j++){
                    for(k = 0; !success && k < 3; k++){
                        int res = oper(k, oper(i, n[0], n[1]), oper(j, n[2], n[3]));
                        if( res == 10 ){
                            success = true;
                            break;
                        }
                    }
                }
            }
        }while( !success && next_permutation(n, n + 4) );
        if( success ){
            i--; j--;
            printf("((%d %c %d) %c (%d %c %d))\n", n[0], mark[i], n[1], mark[k], n[2], mark[j], n[3]);
            continue;
        }
        puts("0");
    }
    return 0;
}