import Control.Monad
import Control.Applicative
import Data.Functor
import Data.List
import Data.List.Split
import Data.Char
import Data.Ord
import Data.Array.IO

readInt = read :: String -> Int
getInt = readLn :: IO Int
getInts = map readInt . words <$> getLine
sjoin :: (Show a) => [a] -> String
sjoin = unwords . map show
cond :: a -> a -> Bool -> a
cond t f c = if c then t else f
-- end of templete

toOp '+' = (+)
toOp '-' = (-)
f n l = [(s ++ (op:show n), toOp op m n) | (s, m) <- l, op <- "+-"]


main = do
    [a,b,c,d] <- map digitToInt <$> getLine
    putStrLn . (++"=7") . fst .  head . filter ((==7) . snd) $ f d $ f c $ f b $ [(show a, a)]