#include<iostream>
#include<string>
#include<map>
using namespace std;
map<string, int> poker;
int strToInt(string s);
void judge(int a, int b, int c, int d);
int cal(int a, int b, int c, int d, int i, int j, int k);
string output;
int main(){
string input;
string a, b, c, d;
int A, B , C, D;
cin>>a>>b>>c>>d;
if(a == "joker" || a == "JOKER"){cout<<"ERROR"; return 0;}
if(b == "joker" || b == "JOKER"){cout<<"ERROR"; return 0;}
if(c == "joker" || c == "JOKER"){cout<<"ERROR"; return 0;}
if(d == "joker" || d == "JOKER"){cout<<"ERROR"; return 0;}
poker["J"] = 11; poker["Q"] = 12; poker["K"] = 13; poker["A"] = 14; poker["2"] = 2;
/*
cout<<a<<b<<c<<d<<endl;
cout<<strToInt(a)<<endl;
cout<<strToInt(b)<<endl;
cout<<strToInt(c)<<endl;
cout<<strToInt(d)<<endl;
*/
A = strToInt(a); B = strToInt(b); C = strToInt(c); D = strToInt(d);
judge(A, B, C, D);
return 0;
}
int strToInt(string s){
if(s >= "3" && s <= "9") return s[0] - '0';
else if(s == "10") return 10;
else return poker[s];
}
void judge(int a, int b, int c, int d){
char arr[4] = {'+', '-', '*', '/'};
int aa, bb, cc, dd;
int flag = 0;
int breakFlag = 0;
for(int i = 0; i < 4; i++){
for(int j = 0; j < 4; j++){
for(int k = 0; k < 4; k++){
if(cal(a,b,c,d,i,j,k)==24) {flag = 1; aa = a; bb = b; cc = c; dd = d;}
if(cal(a,b,d,c,i,j,k)==24) {flag = 1; aa = a; bb = b; cc = d; dd = c;}
if(cal(a,c,b,d,i,j,k)==24) {flag = 1; aa = a; bb = c; cc = b; dd = d;}
if(cal(a,c,d,b,i,j,k)==24) {flag = 1; aa = a; bb = c; cc = d; dd = b;}
if(cal(a,d,b,c,i,j,k)==24) {flag = 1; aa = a; bb = d; cc = b; dd = c;}
if(cal(a,d,c,b,i,j,k)==24) {flag = 1; aa = a; bb = d; cc = c; dd = b;}
if(cal(b,a,c,d,i,j,k)==24) {flag = 1; aa = b; bb = a; cc = c; dd = d;}
if(cal(b,a,d,c,i,j,k)==24) {flag = 1; aa = b; bb = a; cc = d; dd = c;}
if(cal(b,c,a,d,i,j,k)==24) {flag = 1; aa = b; bb = c; cc = a; dd = d;}
if(cal(b,c,d,a,i,j,k)==24) {flag = 1; aa = b; bb = c; cc = d; dd = a;}
if(cal(b,d,a,c,i,j,k)==24) {flag = 1; aa = b; bb = d; cc = a; dd = c;}
if(cal(b,d,c,a,i,j,k)==24) {flag = 1; aa = b; bb = d; cc = c; dd = a;}
if(cal(c,a,b,d,i,j,k)==24) {flag = 1; aa = c; bb = a; cc = b; dd = d;}
if(cal(c,a,d,b,i,j,k)==24) {flag = 1; aa = c; bb = a; cc = d; dd = b;}
if(cal(c,b,a,d,i,j,k)==24) {flag = 1; aa = c; bb = b; cc = a; dd = d;}
if(cal(c,b,d,a,i,j,k)==24) {flag = 1; aa = c; bb = b; cc = d; dd = a;}
if(cal(c,d,a,b,i,j,k)==24) {flag = 1; aa = c; bb = d; cc = a; dd = b;}
if(cal(c,d,b,a,i,j,k)==24) {flag = 1; aa = c; bb = d; cc = b; dd = a;}
if(cal(d,a,b,c,i,j,k)==24) {flag = 1; aa = d; bb = a; cc = b; dd = c;}
if(cal(d,a,c,b,i,j,k)==24) {flag = 1; aa = d; bb = a; cc = c; dd = b;}
if(cal(d,b,a,c,i,j,k)==24) {flag = 1; aa = d; bb = b; cc = a; dd = c;}
if(cal(d,b,c,a,i,j,k)==24) {flag = 1; aa = d; bb = b; cc = c; dd = a;}
if(cal(d,c,a,b,i,j,k)==24) {flag = 1; aa = d; bb = c; cc = a; dd = b;}
if(cal(d,c,b,a,i,j,k)==24) {flag = 1; aa = d; bb = c; cc = b; dd = a;}
if(flag == 1){
cout<<aa<<arr[i]<<bb<<arr[j]<<cc<<arr[k]<<dd<<endl;
breakFlag = 1;
break;
}
if(breakFlag == 1) break;
}
if(breakFlag == 1) break;
}
if(breakFlag == 1) break;
}
if(flag == 0){
cout<<"NONE"<<endl;
}
}
int cal(int a, int b, int c, int d, int i, int j, int k){
int sum = 0;
if(i == 0) sum = a + b;
else if(i == 1) sum = a - b;
else if(i == 2) sum = a * b;
else if(i == 3) sum = a/b;
if(j == 0) sum = sum + c;
else if(j == 1) sum-=c;
else if(j == 2) sum*=c;
else if(j == 3) sum/=c;
if(k == 0) sum+=d;
else if(k == 1) sum-=d;
else if(k == 2) sum*=d;
else if(k == 3) sum/=d;
return sum;
}
#include<iostream>
#include<string>
#include<algorithm>
#include<map>
using namespace std;
map<string, int> poker;
int strToInt(string s);
void judge(int a, int b, int c, int d);
int cal(int a, int b, int c, int d, int i, int j, int k);
string output;
int main(){
string input;
string a, b, c, d;
int A, B , C, D;
cin>>a>>b>>c>>d;
if(a == "joker" || a == "JOKER"){cout<<"ERROR"; return 0;}
if(b == "joker" || b == "JOKER"){cout<<"ERROR"; return 0;}
if(c == "joker" || c == "JOKER"){cout<<"ERROR"; return 0;}
if(d == "joker" || d == "JOKER"){cout<<"ERROR"; return 0;}
poker["J"] = 11; poker["Q"] = 12; poker["K"] = 13; poker["A"] = 14; poker["2"] = 2;
/*
cout<<a<<b<<c<<d<<endl;
cout<<strToInt(a)<<endl;
cout<<strToInt(b)<<endl;
cout<<strToInt(c)<<endl;
cout<<strToInt(d)<<endl;
*/
A = strToInt(a); B = strToInt(b); C = strToInt(c); D = strToInt(d);
judge(A, B, C, D);
return 0;
}
int strToInt(string s){
if(s >= "3" && s <= "9") return s[0] - '0';
else if(s == "10") return 10;
else return poker[s];
}
void judge(int a, int b, int c, int d){
char arr[4] = {'+', '-', '*', '/'};
int num[4] = {a, b, c, d};
int aa, bb, cc, dd;
int flag = 0;
int breakFlag = 0;
for(int i = 0; i < 4; i++){
for(int j = 0; j < 4; j++){
for(int k = 0; k < 4; k++){
if(cal(num[0], num[1], num[2], num[3], i, j, k) == 24){
flag = 1;
aa = num[0]; bb = num[1]; cc = num[2]; dd = num[3];
}
if(flag == 1){
cout<<aa<<arr[i]<<bb<<arr[j]<<cc<<arr[k]<<dd<<endl;
breakFlag = 1;
break;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>// 例如輸入 4 4 4 4,這個while循環就進不來, 所以前面那個判斷輸入運算結果是否滿足24點的是必須的!!!
sort(num, num+4);
while(next_permutation(num, num+4)){
if(cal(num[0], num[1], num[2], num[3], i, j, k) == 24){
flag = 1;
aa = num[0]; bb = num[1]; cc = num[2]; dd = num[3];
}
}
<span style="white-space:pre"> </span>if(flag == 1){
cout<<aa<<arr[i]<<bb<<arr[j]<<cc<<arr[k]<<dd<<endl;
breakFlag = 1;
break;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>if(breakFlag == 1) break;
}
if(breakFlag == 1) break;
}
if(breakFlag == 1) break;
}
if(flag == 0){
cout<<"NONE"<<endl;
}
}
int cal(int a, int b, int c, int d, int i, int j, int k){
int sum = 0;
if(i == 0) sum = a + b;
else if(i == 1) sum = a - b;
else if(i == 2) sum = a * b;
else if(i == 3) sum = a/b;
if(j == 0) sum = sum + c;
else if(j == 1) sum-=c;
else if(j == 2) sum*=c;
else if(j == 3) sum/=c;
if(k == 0) sum+=d;
else if(k == 1) sum-=d;
else if(k == 2) sum*=d;
else if(k == 3) sum/=d;
return sum;
}