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

bool calc(vector<char> op){
	int st[4],sp=0;
	rep(i,op.size()){
		if('1'<=op[i]&&op[i]<='9'){
			st[sp++] = op[i]-'0';
		}
		else{
			if(sp<2)return false;
			int a,b;
			b=st[--sp];
			a=st[--sp];
			if(op[i]=='+')st[sp++] = a+b;
			if(op[i]=='-')st[sp++] = a-b;
			if(op[i]=='*')st[sp++] = a*b;
		}
	}
	return sp==1 && st[0]==10;
}
string trans(vector<char> op){
	string st[4];
	int sp=0;
	rep(i,op.size()){
		if('1'<=op[i]&&op[i]<='9'){
			st[sp++] = op[i];
		}
		else{
			string a,b;
			b= '('+st[--sp]+')';
			a= '('+st[--sp]+')';
			st[sp++] = a+op[i]+b;
		}
	}
	return st[0];
}
int main(){
	vector<char> input(4),a;
	char operation[]="+-*";
	while(1){
		string ans="0";
		rep(i,4)cin>>input[i];
		if(count(input.begin(),input.end(),'0')==4)break;
		for(int i=0;i<3;i++){
			for(int j=i;j<3;j++){
				for(int k=j;k<3;k++){
					a=input;
					a.push_back(operation[i]);
					a.push_back(operation[j]);
					a.push_back(operation[k]);
					sort(a.begin(),a.end());
					do{
						if(calc(a))ans=trans(a);
					}while(next_permutation(a.begin(),a.end()));
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}