#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

char conv(int o)
{
	if(o==0) return '+';
	if(o==1) return '-';
	if(o==2) return '*';
}


int calc(int m,int n,int o)
{
	if(o==0) return m+n;
	if(o==1) return m-n;
	if(o==2) return m*n;
}


int main()
{
	int nums[4];
	while(cin>>nums[0]>>nums[1]>>nums[2]>>nums[3],nums[0])
	{
		sort(nums,nums+4);
		bool flag=false;
		do {
			int o1=0,o2=0,o3=-1;
			for(int i = 0; i < 27; ++i)
			{
				o3++;
				if (o3==3)
				{
					o3=0;
					o2++;
					if (o2==3)
					{
						o1++;
						o2=0;
					}
				}
				
				if( calc(calc(nums[0],nums[1],o1),calc(nums[2],nums[3],o3),o2)==10 )
				{
					printf("(%d%c%d)%c(%d%c%d)\n",nums[0],conv(o1),nums[1],conv(o2),nums[2],conv(o3),nums[3]);
					flag=true; break;
				}
				if( calc(calc(calc(nums[0],nums[1],o1),nums[2],o2),nums[3],o3)==10 )
				{
					printf("((%d%c%d)%c%d)%c%d\n",nums[0],conv(o1),nums[1],conv(o2),nums[2],conv(o3),nums[3]);
					flag=true; break;
				}
				if( calc(nums[0],calc(calc(nums[1],nums[2],o2),nums[3],o3),o1)==10 )
				{
					printf("%d%c((%d%c%d)%c%d)\n",nums[0],conv(o1),nums[1],conv(o2),nums[2],conv(o3),nums[3]);
					flag=true; break;
				}
				if( calc(calc(nums[0],calc(nums[1],nums[2],o2),o1),nums[3],o3)==10 )
				{
					printf("(%d%c(%d%c%d))%c%d\n",nums[0],conv(o1),nums[1],conv(o2),nums[2],conv(o3),nums[3]);
					flag=true; break;
				}
				if( calc(nums[0],calc(nums[1],calc(nums[2],nums[3],o3),o2),o1)==10 )
				{
					printf("%d%c(%d%c(%d%c%d))\n",nums[0],conv(o1),nums[1],conv(o2),nums[2],conv(o3),nums[3]);
					flag=true; break;
				}
			}
			
		} while (!flag&&next_permutation(nums,nums+4));
		if(!flag) cout<<0<<endl;
	}
  return 0;
}