include "stdio.h"

include "stdlib.h"

include "string.h"

//
/**
借鉴了前几个大神的代码, 做了改进
此算法这里覆盖了所有可能, 通过率90%, 但我觉得牛客网测试有问题
比如:
用例:
4 4 2 7

对应输出应该为:

7-424

你的输出为:

7-442
这个用例竟然不对

运算符:+ - * / 4444=64
数字: num1 num2 num3 num4 4
321=24
所以每组有64*24=1536中可能,
此算法全部覆盖到, 欢迎大家交流. 哈哈哈

*/

int cal(int b[])
{
char face[14][2]={"0","A","2","3","4","5","6","7","8","9","10","J","Q","K"};
char signal[4]={'+','-','*','/'};
char sign[3]={0};
int i,j,k,m;
float out;
float a[4]={0};
a[0]=(int)b[0];
a[1]=(int)b[1];
a[2]=(int)b[2];
a[3]=(int)b[3];

// printf("%f %f %f %f\n",a[0],a[1],a[2],a[3]);
for(i=0;i<4;i++) //第一个运算符
{
sign[0]=i;
for(j=0;j<4;j++) //第二个运算符
{
sign[1]=j;
for(k=0;k<4;k++) //低三个运算符
{
sign[2]=k;
out=a[0];
for(m=0;m<3;m++)
{
//printf("here1");
if(sign[m]==0)
{
// printf("%f+%f",out,a[m+1]);
out+=a[m+1];
// printf("=%f\n",out);
}
else if(sign[m]==1)
{
// printf("%f-%f",out,a[m+1]);
out-=a[m+1];
// printf("=%f\n",out);
}
else if(sign[m]==2)
{
// printf("%f%f",out,a[m+1]);
out
=a[m+1];
// printf("=%f\n",out);
}
else if(sign[m]==3)
{
// printf("%f/%f",out,a[m+1]);
out/=a[m+1];
// printf("=%f\n",out);
}
}
// printf("out:%f\n",out);
if((out-24<0.01) && (out-24>-0.01))
{
printf("%s%c%s%c%s%c%s\n",face[b[0]],signal[sign[0]],face[b[1]],signal[sign[1]],face[b[2]],signal[sign[2]],face[b[3]]);

                return 1;
            }

        }
    }
}
return 0;

}

int main()
{
int i,j,k,m;
char str[4][5]={0};
int err_flag=0;
int arr[4]={0};
int b[4]={0};
//4 2 K A

start:
while(scanf("%s %s %s %s",&str[0],&str[1],&str[2],&str[3])!=EOF)
{
// printf("%s %s %s %s\n",str[0],str[1],str[2],str[3]);
err_flag=0;
for(i=0;i<4;i++)
{
if(strlen(str[i])>=5)
{
err_flag=1;
break;
}
}

    if(err_flag==1)
    {
        printf("ERROR\n");  //ok
    }
    else
    {
        //printf("here1");
        for(i=0;i<4;i++)
        {
            //printf("%s\n",str[i]);

            if(strlen(str[i])==2)
            {
                arr[i]=10;
            }
            else if(str[i][0]=='J')
            {
                arr[i]=11;
            }
            else if(str[i][0]=='Q')
            {
                arr[i]=12;
            }
            else if(str[i][0]=='K')
            {
            //    printf("K\n");
                arr[i]=13;
            }
            else if(str[i][0]=='A')
            {
                arr[i]=1;
            }
            else if(str[i][0]>='2' && str[i][0]<='9')
            {

                arr[i]=str[i][0]-'0';
            }
        }
    //    printf("%d %d %d %d\n",arr[0],arr[1],arr[2],arr[3]);

        for(i=0;i<4;i++)
        {
            for(j=0;j<4;j++)
            {
                if(j!=i)
                {
                    for(k=0;k<4;k++)
                    {
                        if((k!=i) && (k!=j))
                        {
                            for(m=0;m<4;m++)
                            {
                                if((m!=i) &&(m!=j) &&(m!=k))
                                {
                                    b[0]=arr[i];
                                    b[1]=arr[j];
                                    b[2]=arr[k];
                                    b[3]=arr[m];
                                  //  printf("%d %d %d  %d\n",b[i],b[j],b[k],b[m]);

                                    if(cal(b))
                                    {
                                        goto start;
                                    }


                                }
                            }
                        }

                    }
                }

            }

        }

        printf("NONE\n");


    }

}    

}