#!usr/bin/env python3

from collections import defaultdict

from collections import deque

from heapq import heappush, heappop

import sys

import math

import bisect

import random

def LI(): return list(map(int, sys.stdin.readline().split()))

def I(): return int(sys.stdin.readline())

def LS():return list(map(list, sys.stdin.readline().split()))

def S(): return list(sys.stdin.readline())[:-1]

def IR(n):

    l = [None for i in range(n)]

    for i in range(n):l[i] = I()

    return l

def LIR(n):

    l = [None for i in range(n)]

    for i in range(n):l[i] = LI()

    return l

def SR(n):

    l = [None for i in range(n)]

    for i in range(n):l[i] = S()

    return l

def LSR(n):

    l = [None for i in range(n)]

    for i in range(n):l[i] = SR()

    return l

mod = 1000000007



#A

def A():

    return



#B

def B():

    return



#C

def C():

    a,b,c,d = list(map(int, S()))

    s = ["-","+"]

    for i in range(2):

        for j in range(2):

            for k in range(2):

                if eval(str(a)+s[i]+str(b)+s[j]+str(c)+s[k]+str(d)) == 7:

                    print((str(a)+s[i]+str(b)+s[j]+str(c)+s[k]+str(d)+"=7"))

                    quit()

#D

def D():

    return



#E

def E():

    return



#F

def F():

    return



#G

def G():

    return



#H

def H():

    return



#Solve

if __name__ == "__main__":

    C()

#!usr/bin/env python3

from collections import defaultdict, deque

from heapq import heappush, heappop

from itertools import permutations, accumulate

import sys

import math

import bisect

def LI(): return [int(x) for x in sys.stdin.readline().split()]

def I(): return int(sys.stdin.readline())

def LS():return [list(x) for x in sys.stdin.readline().split()]

def S():

    res = list(sys.stdin.readline())

    if res[-1] == "\n":

        return res[:-1]

    return res

def IR(n):

    return [I() for i in range(n)]

def LIR(n):

    return [LI() for i in range(n)]

def SR(n):

    return [S() for i in range(n)]

def LSR(n):

    return [LS() for i in range(n)]



sys.setrecursionlimit(1000000)

mod = 1000000007



def solve():

    a,b,c,d = map(int,input())

    l = [b,c,d]

    for k in range(1<<3):

        s = a

        ans = []

        for i in range(3):

            if k&(1<<i):

                ans.append("+")

                s += l[i]

            else:

                ans.append("-")

                s -= l[i]

        if s == 7:

            k = [a]

            for i in range(3):

                k.append(ans[i])

                k.append(l[i])

            k.append("=7")

            print(*k,sep="")

            return

    return



#Solve

if __name__ == "__main__":

    solve()

#!usr/bin/env python3
from collections import defaultdict
from collections import deque
from heapq import heappush, heappop
import sys
import math
import bisect
import random


def LI():
    return list(map(int, sys.stdin.readline().split()))


def I():
    return int(sys.stdin.readline())


def LS():
    return list(map(list, sys.stdin.readline().split()))


def S():
    return list(sys.stdin.readline())[:-1]


def IR(n):
    l = [None for i in range(n)]
    for i in range(n):
        l[i] = I()
    return l


def LIR(n):
    l = [None for i in range(n)]
    for i in range(n):
        l[i] = LI()
    return l


def SR(n):
    l = [None for i in range(n)]
    for i in range(n):
        l[i] = S()
    return l


def LSR(n):
    l = [None for i in range(n)]
    for i in range(n):
        l[i] = SR()
    return l


mod = 1000000007
# A
def A():
    return


# B
def B():
    return


# C
def C():
    a, b, c, d = list(map(int, S()))
    s = ["-", "+"]
    for i in range(2):
        for j in range(2):
            for k in range(2):
                if eval(str(a) + s[i] + str(b) + s[j] + str(c) + s[k] + str(d)) == 7:
                    print(
                        (str(a) + s[i] + str(b) + s[j] + str(c) + s[k] + str(d) + "=7")
                    )
                    quit()


# D
def D():
    return


# E
def E():
    return


# F
def F():
    return


# G
def G():
    return


# H
def H():
    return


# Solve
if __name__ == "__main__":
    C()

#!usr/bin/env python3
from collections import defaultdict, deque
from heapq import heappush, heappop
from itertools import permutations, accumulate
import sys
import math
import bisect


def LI():
    return [int(x) for x in sys.stdin.readline().split()]


def I():
    return int(sys.stdin.readline())


def LS():
    return [list(x) for x in sys.stdin.readline().split()]


def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res


def IR(n):
    return [I() for i in range(n)]


def LIR(n):
    return [LI() for i in range(n)]


def SR(n):
    return [S() for i in range(n)]


def LSR(n):
    return [LS() for i in range(n)]


sys.setrecursionlimit(1000000)
mod = 1000000007


def solve():
    a, b, c, d = map(int, input())
    l = [b, c, d]
    for k in range(1 << 3):
        s = a
        ans = []
        for i in range(3):
            if k & (1 << i):
                ans.append("+")
                s += l[i]
            else:
                ans.append("-")
                s -= l[i]
        if s == 7:
            k = [a]
            for i in range(3):
                k.append(ans[i])
                k.append(l[i])
            k.append("=7")
            print(*k, sep="")
            return
    return


# Solve
if __name__ == "__main__":
    solve()

-from collections import defaultdict -from collections import deque +from collections import defaultdict, deque +from itertools import permutations, accumulate -import random -    return list(map(int, sys.stdin.readline().split())) +    return [int(x) for x in sys.stdin.readline().split()] -    return list(map(list, sys.stdin.readline().split())) +    return [list(x) for x in sys.stdin.readline().split()] -    return list(sys.stdin.readline())[:-1] +    res = list(sys.stdin.readline()) +    if res[-1] == "\n": +        return res[:-1] +    return res -    l = [None for i in range(n)] -    for i in range(n): -        l[i] = I() -    return l +    return [I() for i in range(n)] -    l = [None for i in range(n)] -    for i in range(n): -        l[i] = LI() -    return l +    return [LI() for i in range(n)] -    l = [None for i in range(n)] -    for i in range(n): -        l[i] = S() -    return l +    return [S() for i in range(n)] -    l = [None for i in range(n)] -    for i in range(n): -        l[i] = SR() -    return l +    return [LS() for i in range(n)] +sys.setrecursionlimit(1000000) -# A -def A(): -    return -# B -def B(): -    return - - -# C -def C(): -    a, b, c, d = list(map(int, S())) -    s = ["-", "+"] -    for i in range(2): -        for j in range(2): -            for k in range(2): -                if eval(str(a) + s[i] + str(b) + s[j] + str(c) + s[k] + str(d)) == 7: -                    print( -                        (str(a) + s[i] + str(b) + s[j] + str(c) + s[k] + str(d) + "=7") -                    ) -                    quit() - - -# D -def D(): -    return - - -# E -def E(): -    return - - -# F -def F(): -    return - - -# G -def G(): -    return - - -# H -def H(): +def solve(): +    a, b, c, d = map(int, input()) +    l = [b, c, d] +    for k in range(1 << 3): +        s = a +        ans = [] +        for i in range(3): +            if k & (1 << i): +                ans.append("+") +                s += l[i] +            else: +                ans.append("-") +                s -= l[i] +        if s == 7: +            k = [a] +            for i in range(3): +                k.append(ans[i]) +                k.append(l[i]) +            k.append("=7") +            print(*k, sep="") +            return -    C() +    solve()