#include<iostream>
using namespace std;
int a[5];
bool vis[5];
int ans[4][3];
bool flag=0;
bool check(){
int n1=0,n2=0;
for(int i=0;i<4;++i){
if(a[i]==24)++n1;
if(a[i]==-1)++n2;
}
if(!(n1==1&&n2==3))return 0;
return 1;
}
char p0[]="+-*/";
void dfs(int step){
if(step==3){
if(check()){
flag=true;
for(int i=0;i<step;i++){
printf("%d",ans[i][0]);
printf("%c",p0[ans[i][1]]);
printf("%d",ans[i][2]);
if(ans[i][1]==0){
printf("=%d\n",ans[i][0]+ans[i][2]);
}
if(ans[i][1]==1){
printf("=%d\n",ans[i][0]-ans[i][2]);
}
if(ans[i][1]==2){
printf("=%d\n",ans[i][0]*ans[i][2]);
}
if(ans[i][1]==3){
printf("=%d\n",ans[i][0]/ans[i][2]);
}
}
}
}
int x,y;
for(int i=0;i<4;++i){
for(int j=0;j<4;++j)if(i!=j&&!a[i]==-1&&!a[j]==-1){
x=a[i],y=a[j];
ans[step][0]=a[i];
ans[step][1]=0;
ans[step][2]=a[j];
a[i]+=a[j];
a[j]=-1;
dfs(step+1);
a[i]=x;
a[j]=y;
x=a[i],y=a[j];
ans[step][0]=a[i];
ans[step][1]=1;
ans[step][2]=a[j];
a[i]-=a[j];
a[j]=-1;
dfs(step+1);
a[i]=x;
a[j]=y;
x=a[i],y=a[j];
ans[step][0]=a[i];
ans[step][1]=2;
ans[step][2]=a[j];
a[i]*=a[j];
a[j]=-1;
dfs(step+1);
a[i]=x;
a[j]=y;
x=a[i],y=a[j];
if(a[j]!=0&&a[i]%a[j]==0){
ans[step][0]=a[i];
ans[step][1]=3;
ans[step][2]=a[j];
a[i]/=a[j];
a[j]=-1;
dfs(step+1);
a[i]=x;
a[j]=y;
}
}
}
}
int main(){
for(int i=0;i<4;++i)scanf("%d",&a[i])
dfs(0);
return 0;
}