#include<iostream>
#include<algorithm>
#include<string>

using namespace std;

int kei(int,int,int);

int main(void){
	int in[4],flag=0;
	int i,j,k;
	string s("+-*");
	
	while(1){
		cin>>in[0]>>in[1]>>in[2]>>in[3];
		if(in[0]==0 && in[1]==0 && in[2]==0 && in[3]==0)	break;
		sort(in,in+4);	//昇順
		
		do{
			for(i=0;i<3;i++){
				for(j=0;j<3;j++){
					for(k=0;k<3;k++){
						if(kei(kei(kei(in[0],in[1],i),in[2],j),in[3],k) == 10){
							cout<<"(("<<in[0]<<" "<<s[i]<<" "<<in[1]<<")"<<" "<<s[j]<<" "<<in[2]<<")"<<" "<<s[k]<<" "<<in[3]<<endl;
							flag=1;
							break;
						}
						if(kei(kei(in[0],in[1],i),kei(in[2],in[3],k),j) == 10){
							cout<<"("<<in[0]<<" "<<s[i]<<" "<<in[1]<<") "<<s[j]<<" ("<<in[2]<<" "<<s[k]<<" "<<in[3]<<")"<<endl;
							flag=1;
							break;
						}
						if(kei(kei(in[0],kei(in[1],in[2],j),i),in[3],k) == 10){
							cout<<"("<<in[0]<<" "<<s[i]<<" ("<<in[1]<<" "<<s[j]<<" "<<in[2]<<")) "<<s[k]<<" "<<in[3]<<endl;
							flag=1;
							break;
						}
						if(kei(in[0],kei(kei(in[1],in[2],j),in[3],k),i) == 10){
							cout<<in[0]<<" "<<s[i]<<" (("<<in[1]<<" "<<s[j]<<" "<<in[2]<<") "<<s[k]<<" "<<in[3]<<")"<<endl;
							flag=1;
							break;
						}
					}
					if(flag==1)	break;
				}
				if(flag==1)	break;
			}
		}while(next_permutation(in,in+4) && flag==0);
		if(flag==0)	cout<<0<<endl;
		flag=0;
	}
	return 0;
}

int kei(int x,int y,int ki){
	switch(ki){
		case 0:
			return x+y;
		case 1:
			return x-y;
		case 2:
			return x*y;
	}
}