#include <iostream>
#include <numeric>
using namespace std;

string hugo(int i)
{
    if (i == 0)
        return "+";
    else if (i == 1)
        return "-";
    else
        return "*";
}

int calc(int i, int a, int b)
{
    if (i == 0)
        return a + b;
    else if (i == 1)
        return a - b;
    else
        return a * b;
}

bool hoge(int a, int b, int c, int d)
{
    for(int i = 0; i < 3; ++i) {
        for (int j = 0; j < 3; ++j) {
            for (int k = 0; k < 3; ++k) {
                int x = calc(i, a, b);
                int y = calc(j, c, d);
                int z = calc(k, x, y);
                if (z == 10) {
                    cout << "(" << a << hugo(i) << b <<")";
                    cout << hugo(k);
                    cout << "(" << c << hugo(j) << d << ")" << endl;
                    return true;
                }
            }
        }
    }
    return false;
}

bool fuge(int a, int b, int c, int d)
{
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 3; ++j) {
            for (int k = 0; k < 3; ++k) {
                int x = calc(i, a, b);
                int y = calc(j, x, c);
                int z = calc(k, y, d);
                if (z == 10) {
                    cout << "(" << a << hugo(i) << b << ")";
                    cout << hugo(j) << c;
                    cout << hugo(k) << d << endl;
                    return true;
                }
            }
        }
    }
    return false;
}

int main(int argc, char const* argv[])
{
    int a[4];
    while (cin >> a[0] >> a[1] >> a[2] >> a[3]) {
        bool flag = false;
        if (accumulate(a, a+4, 0) == 0)
            break;
        for (int i = 0; i < 4 && !flag; ++i) {
            for (int j = 0; j < 4 && !flag; ++j) {
                for (int k = 0; k < 4 && !flag; ++k) {
                    for (int l = 0; l < 4 && !flag; ++l) {
                        if (i == j || i == k || j == k ||
                            i == l || j == l || k == l )
                            continue;
                        if (hoge(a[i], a[j], a[k], a[l]) ||
                            fuge(a[i], a[j], a[k], a[l]) )
                            flag = true;
                    }
                }
            }
        }
        if (!flag)
            cout << 0 << endl;
    }
    return 0;
}

