#include<stdio.h>
#include<ctype.h>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
typedef vector<char>V;
int a[4];
string P(V&v,int&i)
{
	int f=isdigit(v[i]);
	string s;
	s+=v[i--];
	if(!f)
	{
		s+=" "+P(v,i)+')';
		s='('+P(v,i)+' '+s;
	}
	return s;
}
int F(V v,int i,int n)
{
	if(v.size()-7)
	{
		char*p,s[9]={},f=0;
		p=s;
		if(i<4)*s=a[i]+'0';
		if(n>1)strcat(s,"+-*");
		for(p=s;*p;++p)
		{
			V t(v);
			t.push_back(*p);
			if(isdigit(*p))f=F(t,i+1,n+1);
			else f=F(t,i,n-1);
			if(f)return 1;
		}
	}
	else
	{
		int x[4],c;
		for(n=i=0;i<7;++i)
		{
			if(isdigit(c=v[i]))x[n++]=v[i]-'0';
			else
			{
				int l=x[n-2],r=x[n-1],t;
				if(c=='+')t=l+r;
				if(c=='-')t=l-r;
				if(c=='*')t=l*r;
				x[n-2]=t;
				--n;
			}
		}
		if(*x==10)
		{
			puts(P(v,i=6).c_str());
			return 1;
		}
	}
	return 0;
}
int main()
{
	for(;;)
	{
		int i,f;
		for(f=i=0;i<4;++i)if(scanf("%d",a+i),!a[i])return 0;
		sort(a,a+4);
		do
		{
			f=F(V(),0,0);
			if(f)break;
		}while(next_permutation(a,a+4));
		if(!f)puts("0");
	}
}