0分
#include<bits/stdc++.h>
using namespace std;
int a[100000],b[100000],n=-1;
struct node{
int a1,a2,a3;
char fh;
}c[100000];
void dfs(int cnt){
n++;
if(cnt==24&&b[1]==1&&b[2]==1&&b[3]==1&&b[4]==1){
for(int i=1;i<=4;i++)cout<<c[i].a1<<c[i].fh<<c[i].a2<<'='<<c[i].a3<<endl;
exit(0);
}
if(n==4)return;
for(int i=1;i<=4;i++){
if(b[i]==0){
b[i]=1;
c[n].a1=cnt,c[n].a2=a[i],c[n].a3=cnt+a[i],c[n].fh='+';
dfs(cnt+a[i]);
if(cnt-a[i]>=0){
c[n].a1=cnt,c[n].a2=a[i],c[n].a3=cnt-a[i],c[n].fh='-';
dfs(cnt-a[i]);
}
if(a[i]-cnt>=0){
c[n].a1=a[i],c[n].a2=cnt,c[n].a3=a[i]-cnt,c[n].fh='-';
dfs(a[i]-cnt);
}
c[n].a1=cnt,c[n].a2=a[i],c[n].a3=cnt*a[i],c[n].fh='*';
dfs(cnt*a[i]);
if(a[i]!=0&&cnt%a[i]==0){
c[n].a1=cnt,c[n].a2=a[i],c[n].a3=cnt/a[i],c[n].fh='/';
dfs(cnt/a[i]);
}
if(cnt!=0&&a[i]%cnt==0){
c[n].a1=a[i],c[n].a2=cnt,c[n].a3=a[i]/cnt,c[n].fh='/';
}
b[i]=0;
}
n--;
}
}
int main(){
for(int i=1;i<=4;i++)cin>>a[i];
dfs(0);
cout<<"No answer!";
return 0;
}