#include<iostream>
using namespace std;

int t[4],u[4],used[4];
char tx[3]={'+','-','*'};
void rec(int);
void rec2();
bool check(int,int,int);
void print(int,int,int);
bool check2(int,int,int);
void print2(int,int,int);
int flg;

int main(){
	while(1){
		flg=0;
		for(int i=0;i<4;i++)cin>>t[i];		
		if(t[0]+t[1]+t[2]+t[3]==0)break;
		for(int i=0;i<4;i++)used[i]=0;
		rec(0);
		if(flg==0)cout<<flg<<endl;
	}
	return 0;
}


void rec(int x){
	if(x==4)rec2();
	else{
		for(int i=0;i<4;i++){
			if(flg)return;
			if(used[i]==0){
				used[i]=1;
				u[x]=t[i];
				rec(x+1);
				used[i]=0;
			}
		}
	}
}

void rec2(){
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			for(int k=0;k<3;k++){
				if(flg)return;
				//cout<<i<<" "<<j<<" "<<k<<endl;
				if(check(i,j,k)){
					print(i,j,k);
					flg=1;
					return;
				}
				if(check2(i,j,k)){
					print2(i,j,k);
					flg=1;
					return;
				}

			}
		}
	}


}

bool check(int a,int b,int c){
	int ans;
	if(a==0){
		ans=u[0]+u[1];
	}else if(a==1){
		ans=u[0]-u[1];
	}else{
		ans=u[0]*u[1];
	}

	if(b==0){
		ans=ans+u[2];
	}else if(b==1){
		ans=ans-u[2];
	}else{
		ans=ans*u[2];
	}

	if(c==0){
		ans=ans+u[3];
	}else if(c==1){
		ans=ans-u[3];
	}else{
		ans=ans*u[3];
	}
	//cout<<ans<<endl;
	if(ans==10)return true;
	else return false;
}

void print(int a,int b,int c){
	cout<<"(("<<u[0]<<tx[a]<<u[1]<<")"<<tx[b]<<u[2]<<")"<<tx[c]<<u[3]<<endl;
}

bool check2(int a,int b,int c){
	int ans,ans2,ans3;
	if(a==0){
		ans=u[0]+u[1];
	}else if(a==1){
		ans=u[0]-u[1];
	}else{
		ans=u[0]*u[1];
	}

	if(c==0){
		ans2=u[2]+u[3];
	}else if(c==1){
		ans2=u[2]-u[3];
	}else{
		ans2=u[2]*u[3];
	}

	if(b==0){
		ans3=ans+ans2;
	}else if(b==1){
		ans3=ans-ans2;
	}else{
		ans3=ans*ans2;
	}
	//cout<<ans<<endl;
	if(ans3==10)return true;
	else return false;
}

void print2(int a,int b,int c){
	cout<<"("<<u[0]<<tx[a]<<u[1]<<")"<<tx[b]<<"("<<u[2]<<tx[c]<<u[3]<<")"<<endl;
}