#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;



bool dfs(int sum, int n, bool flag, unordered_map<string, int> mp, vector<int> mark, vector<string> card, string res){
    if(n == 4){
        if(sum == 24){
            cout << res << endl;
            return true;
        }
        return false;
    }
    if(flag){
        for(int i=0; i<4; ++i){
            if(!mark[i]){
                mark[i] = 1;
                if(dfs(sum+mp[card[i]], n+1, true, mp, mark, card, res+"+"+card[i])||
                dfs(sum-mp[card[i]], n+1, true, mp, mark, card, res+"-"+card[i])||
                dfs(sum*mp[card[i]], n+1, true, mp, mark, card, res+"*"+card[i])||
                dfs(sum/mp[card[i]], n+1, true, mp, mark, card, res+"/"+card[i]))
                    return true;
                mark[i] = 0;
            }
        }
    }else{
        for(int i=0; i<4; ++i){
            if(!mark[i]){
                mark[i] = 1;
                res = card[i];
                if(dfs(mp[card[i]], 1, true, mp, mark, card, res))
                    return true;
                mark[i] = 0;
            }
        }
    }
    return false;
}

int main() {
    unordered_map<string, int> mp;
    for (int i = 2; i <= 10; i++) //初始化
        mp[to_string(i)] = i;
    mp["A"] = 1;
    mp["J"] = 11;
    mp["Q"] = 12;
    mp["K"] = 13;
    vector<string> card(4);
    for (int i = 0; i < 4; i++) { //如果存在大王小王,则输出ERROR
        cin >> card[i];
        if (card[i] == "joker" || card[i] == "JOKER") {
            cout << "ERROR" << endl;
            return 0;
        }
    }
    vector<int> mark(4, 0);
    if(!dfs(0, 0, false, mp, mark, card, ""))
        cout << "NONE" << endl;

    return 0;
}
// 64 位输出请用 printf("%lld")