#define _USE_MATH_DEFINES
 
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <vector>
#include <cmath>

using namespace std;

int a[4]={0};
bool b[4]={0};
int c[4]={0};
string o[3]={" + "," - "," * "};
bool find_flag=0;

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

void r(int n){
	if(n==4){
		int o1=0, o2=0, o3=0;
		while(1){
			//cout<<o1<<" "<<o2<<" "<<o3<<endl;
			if(o3==3){
				o2++;
				o3=0;
			}
			if(o2==3){
				o1++;
				o2=0;
			}
			if(cal(cal(cal(c[0],c[1],o1),c[2],o2),c[3],o3)==10){
				cout << "((("<<c[0]<<o[o1]<<c[1]<<")"<<o[o2]<<c[2]<<")"<<o[o3]<<c[3]<<")"<<endl;
				find_flag=1;
				return;
			//}else if(cal(cal(c[0],cal(c[1],c[2],o2),o1),c[3],o3)==10){
			}else if(cal(cal(c[0],cal(c[1],c[2],o2),o1),c[3],o3)==10){
				cout << "(("<<c[0]<<o[o1]<<"("<<c[1]<<o[o2]<<c[2]<<"))"<<o[o3]<<c[3]<<")"<<endl;
				find_flag=1;
				return;
			//}else if(cal(c[0],cal(c[1],cal(c[2],c[3],o3),o2),o1)==10){
			}else if(cal(c[0],cal(cal(c[1],c[2],o2),c[3],o3),o1)==10){
				cout << "("<<c[0]<<o[o1]<<"(("<<c[1]<<o[o2]<<c[2]<<")"<<o[o3]<<c[3]<<"))"<<endl;
				find_flag=1;
				return;
			}else if(cal(cal(c[0],c[1],o1),cal(c[2],c[3],o3),o2)==10){
				cout << "(("<<c[0]<<o[o1]<<c[1]<<")"<<o[o2]<<"("<<c[2]<<o[o3]<<c[3]<<"))"<<endl;
				find_flag=1;
				return;
			}
			o3++;
			if(o1==2 && o2==2 && o3==3){
				return;
			}
		}
	}
	for(int i=0;i<4&&!find_flag;i++){
		if(b[i]==0){
			b[i]=1;
			c[n]=a[i];
			r(n+1);
			b[i]=0;
		}
	}
}

int main(){

	while(cin >> a[0] >> a[1] >> a[2] >> a[3]){
		if(a[0]==0 && a[1]==0 && a[2]==0 && a[3]==0){
			break;
		}
		find_flag=0;
		r(0);
		if(!find_flag){
			cout << 0 << endl;
		}
	}
	return 0;
}