#include<iostream>
#include<string.h>
#include<string>
#include<stack>
using namespace std;
bool lessthan(char a, char b)
{
if(b=='*' || b=='/' )
{
return true;
}
if(a=='+' || a=='-' )
{
return true;
}
return false;
}
void compute(stack<int> & s_num, char op)
{
int b = s_num.top();
s_num.pop();
int a = s_num.top();
s_num.pop();
if(op=='*')
{
s_num.push(a*b);
}
else if(op=='/')
{
s_num.push(a/b);
}
else if(op=='+')
{
s_num.push(a+b);
}
else if(op=='-')
{
s_num.push(a-b);
}
else
{
}
}
int expression(char *str, int num)
{
int res = 0;
stack<int> s_num;
stack<char> s_op;
for(int i=0; i<num; i++)
{
if(str[i]>='0' && str[i]<='9')
{
int tmp = 0;
int base = 1;
tmp = base*(str[i]-'0');
while(str[i+1]>='0' && str[i+1]<='9')
{
tmp = tmp*10 + (str[i+1]-'0');
i++;
}
s_num.push(tmp);
}
else if(str[i] == '(')
{
s_op.push(str[i]);
}
else if(str[i] == '[')
{
s_op.push(str[i]);
}
else if(str[i] == '{')
{
s_op.push(str[i]);
}
else if(str[i] == ')')
{
char tmp = s_op.top();
while(tmp!='(')
{
s_op.pop();
//
compute(s_num, tmp);
tmp = s_op.top();
}
s_op.pop();
}
else if(str[i] == ']')
{
char tmp = s_op.top();
while(tmp!='[')
{
s_op.pop();
//
compute(s_num, tmp);
tmp = s_op.top();
}
s_op.pop();
}
else if(str[i] == '}')
{
char tmp = s_op.top();
while(tmp!='{')
{
s_op.pop();
//
compute(s_num, tmp);
tmp = s_op.top();
}
s_op.pop();
}
//*/+-
else if( str[i]=='-' )
{
if( i==0 || str[i-1]=='(' ||str[i-1]=='{' ||str[i-1]=='[' ||str[i-1]=='+' ||str[i-1]=='-' ||str[i-1]=='*' ||str[i-1]=='/' )
{
i++;
if(str[i]>='0' && str[i]<='9')
{
int tmp = 0;
int base = 1;
tmp = base*(str[i]-'0');
while(str[i+1]>='0' && str[i+1]<='9')
{
tmp = tmp*10 + (str[i+1]-'0');
i++;
}
s_num.push(0-tmp);
}
else
{
cout<<"error"<<endl;
}
}
else
{
while(!s_op.empty())
{
char tmp = s_op.top();
if( tmp!='(' && tmp!='[' && tmp!='{' && lessthan(str[i], tmp))
{
s_op.pop();
//
compute(s_num, tmp);
}
else
{
break;
}
}
s_op.push(str[i]);
}
}
else if(str[i]=='*' || str[i]=='/' || str[i]=='+')
{
while(!s_op.empty())
{
char tmp = s_op.top();
if( tmp!='(' && tmp!='[' && tmp!='{' && lessthan(str[i], tmp))
{
s_op.pop();
//
compute(s_num, tmp);
}
else
{
break;
}
}
s_op.push(str[i]);
}
else
{
}
}
//final
while(!s_op.empty())
{
char tmp = s_op.top();
compute(s_num, tmp);
s_op.pop();
}
return s_num.top();
}
void solve(int count, string *four, string *plusx, bool &flag)
{
string fuhao[4] = {"+","-", "*", "/"};
if(flag)
{
return;
}
else
{
if(count == 3)
{
string total;
if(plusx[0]=="/" && plusx[1]=="*" && plusx[2]=="*")// /**
{
total = four[0] + plusx[1] + four[2] + plusx[2] + four[3]+ plusx[0] + four[1];
}
else if(plusx[0]=="/" && plusx[1]=="*")
{
total = four[0] + plusx[1] + four[2] + plusx[0] + four[1]+ plusx[2] + four[3];
}
else if(plusx[1]=="/" && plusx[2]=="*")
{
total = four[0] + plusx[0] + four[1]+ plusx[2] + four[3]+ plusx[1] + four[2] ;
}
else
{
total = four[0] + plusx[1] + four[1]+ plusx[2]+ four[2] + plusx[0] + four[3];
}
char expr[100];
int len = total.length();
for(int i=0; i<len; i++)
{
expr[i] = total[i];
}
expr[len] = '\0';
//cout<<expr<<"=";
float tmp = expression(expr, len);
//cout<<tmp<<endl;
if(tmp - 24 < 0.001 && tmp - 24>-0.001)
{
flag = true;
}
else
{
}
}
else
{
for(int i=0; i<4; i++)
{
if(flag==false)
{
plusx[count] = fuhao[i];
solve(count+1, four, plusx, flag);
}
}
}
}
if(count==0 && flag==false)
{
cout<<"NONE";
}
}
string trans(string str)
{
if(str=="J")
{
str="11";
return str;
}
else if(str=="Q")
{
str="12";
return str;
}
else if(str=="K")
{
str="13";
return str;
}
else if(str=="A")
{
str="1";
return str;
}
else
{
return str;
}
}
int main()
{
/*
char str[100];
cin.get(str, 100);
int N = strlen(str);
cout<<expression(str, N)<<endl;
cout<<"true"<<endl;
*/
string four[4];
string tran[4];
for(int i=0; i<4; i++)
{
cin>>four[i];
}
for(int i=0; i<4; i++)
{
if(four[i]=="joker" || four[i]=="JOKER")
{
cout<<"ERROR";
return 0;
}
else
{
tran[i] = trans(four[i]);
}
}
string plusx[3];
bool flag = false;
solve(0, tran, plusx, flag);
if(flag)
cout<<four[0] + plusx[1] + four[1]+ plusx[2]+ four[2] + plusx[0] + four[3];
return 0;
}