#include <cstdio>
#include <algorithm>
using namespace std;
#define reps(i,j,k) for(int i = j;i < k;i++)
#define rep(i,j) reps(i,0,j)
typedef pair < int,int > Pii;
bool F;
char change(int s){
	if(s == 0)return '+';
	if(s == 1)return '-';
	if(s == 2)return '*';
}
int calc(int a,int s,int b){
	if(s == 0)return a+b;
	if(s == 1)return a-b;
	if(s == 2)return a*b;
}
void solve(int num[5],int s[4],int dep){
	if(F)return ;
	if(dep == 3){
		if(calc(calc(calc(num[0],s[0],num[1]),s[1],num[2]),s[2],num[3]) == 10){
			printf("(((%d%c%d)%c%d)%c%d)\n",num[0],change(s[0]),num[1],change(s[1]),num[2],change(s[2]),num[3]);
			F = true;
			return ;
		}
		if(calc(calc(num[0],s[0],num[1]),s[1],calc(num[2],s[2],num[3])) == 10){
			printf("((%d%c%d)%c(%d%c%d))\n",num[0],change(s[0]),num[1],change(s[1]),num[2],change(s[2]),num[3]);
			F = true;
			return ;
		}
		
		return ;
	}
	rep(i,3){
		s[dep] = i;
		if(F)return ;
		solve(num,s,dep+1);
		if(F)return ;
	}
}
int main(){
	int a,b,c,d;
	while(scanf("%d%d%d%d",&a,&b,&c,&d),(a|b|c|d)){
		int num[4];
		F = false;
		num[0] = a;num[1] = b;num[2] = c;num[3] = d;
		sort(num,num+4);
		do{
			int s[4];
			solve(num,s,0);
			if(F)break;
		}while(next_permutation(num,num+4));
		if(!F)puts("0");
	}
	return 0;
}