#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <set>

using namespace std;


set<pair<int,string> > makeTree(string str){

	set<pair<int,string> > trees; 

	if(str.size()==1&&str[0]>='0'&&str[0]<='9'){
		trees.insert(make_pair((int)(str[0]-'0'),str));
		return trees;
	}
	else{
		for(int i = 0; i < str.size(); i++){
			if(str[i]=='*'||str[i]=='+'||str[i]=='-'){
				string str1 = str.substr(0,i);
				string str2 = str.substr(i+1);
				set<pair<int,string> > spis = makeTree(str1);
				set<pair<int,string> > spis2 = makeTree(str2);
				for(set<pair<int,string> >::iterator it = spis.begin(); it!=spis.end(); it++){
					for(set<pair<int,string> >::iterator iit = spis2.begin(); iit!=spis2.end(); iit++){
						if(str[i]=='*'){
							int ret=it->first*iit->first;
							string rets = '(' + it->second + ") * (" + iit->second + ')';
							trees.insert(make_pair(ret,rets));
						}
						else if(str[i]=='+'){
							int ret=it->first+iit->first;
							string rets = '(' + it->second + ") + (" + iit->second + ')';
							trees.insert(make_pair(ret,rets));
						}
						else if(str[i]=='-'){
							int ret=it->first-iit->first;
							string rets = '(' + it->second + ") - (" + iit->second + ')';
							trees.insert(make_pair(ret,rets));
						}
					}
				}
			}
		}
	}
	return trees;
}

int main(){

	int a,b,c,d;
	char op[3];
	op[0]='+';
	op[1]='-';
	op[2]='*';

	while((cin>>a>>b>>c>>d)&&!(a==0&&b==0&&c==0&&d==0)){
		bool f=false;
		vector<int> v;
		v.push_back(a);
		v.push_back(b);
		v.push_back(c);
		v.push_back(d);
		sort(v.begin(),v.end());
		do{
			for(int i = 0; i < 3; i++){
				for(int j = 0; j < 3; j++){
					for(int k = 0; k < 3; k++){
						string str="";
						str+=(char)(v[0]+'0');
						str+=(char)op[i];
						str+=(char)(v[1]+'0');
						str+=(char)op[j];
						str+=(char)(v[2]+'0');
						str+=(char)op[k];
						str+=(char)(v[3]+'0');
						set<pair<int,string> > spbs = makeTree(str);
						for(set<pair<int,string> >::iterator it = spbs.begin(); spbs.end()!=it; it++){
							if(it->first==10){
								cout<<'(' + it->second + ')'<<endl;
								f=true;
								break;
							}
						}
						if(f)
							break;
					}
					if(f)
						break;
				}
				if(f)
					break;
			}
			if(f)
				break;
		}while(next_permutation(v.begin(),v.end()));
		if(!f)
			cout<<0<<endl;
	}

	return 0;
}