interface Operator {
    fun execute(left: Int, right: Int): Int
    fun str(): String
}

class Plus() : Operator {
    override fun execute(left: Int, right: Int): Int {
        return left + right
    }

    override fun str(): String {return "+"}
}

class Minus() : Operator {
    override fun execute(left: Int, right: Int): Int {
        return left - right
    }

    override fun str(): String {return "-"}
}

fun main(args: Array<String>) {
    val (a: Int, b: Int, c: Int, d: Int) = readLine()!!.trim().map {it.toString().toInt()}

    val operators = listOf<Operator>(Plus(), Minus())
    operators.forEach { op1 ->
        operators.forEach { op2 ->
            operators.forEach { op3 ->
                if (isEqualTo7(a, b, c, d, op1, op2, op3)) {
                    val result: String = formatSiki(a, b, c, d, op1, op2, op3)
                    println(result)
                    return
                }
            }
        }
    }
}

fun formatSiki(a: Int, b: Int, c: Int, d: Int, op1: Operator, op2: Operator, op3: Operator): String {
    return "${a}${op1.str()}${b}${op2.str()}${c}${op3.str()}${d}=7"
}

fun isEqualTo7(a: Int, b: Int, c: Int, d: Int, op1: Operator, op2: Operator, op3: Operator): Boolean {
    return op3.execute(op2.execute(op1.execute(a, b), c), d) == 7
}