Problem:
Score : 300 points

Problem Statement

Sitting in a station waiting room, Joisino is gazing at her train ticket.

The ticket is numbered with four digits A, B, C and D in this order, each between 0 and 9 (inclusive).

In the formula A op1 B op2 C op3 D = 7, replace each of the symbols op1, op2 and op3 with + or - so that the formula holds.

The given input guarantees that there is a solution. If there are multiple solutions, any of them will be accepted.

Constraints

0≤A,B,C,D≤9

All input values are integers.

It is guaranteed that there is a solution.

Input

Input is given from Standard Input in the following format:

ABCD

Output

Print the formula you made, including the part =7.

Use the signs + and -.

Do not print a space between a digit and a sign.

Sample Input 1

1222

Sample Output 1

1+2+2+2=7

This is the only valid solution.

Sample Input 2

0290

Sample Output 2

0-2+9+0=7

0 - 2 + 9 - 0 = 7 is also a valid solution.

Sample Input 3

3242

Sample Output 3

3+2+4-2=7

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.util.*;
public class Main {
	public static void main(String[] args) {
		C();
	}
	
	public static void A() {
		Scanner sc = new Scanner(System.in);
		Integer n = sc.nextInt();
		sc.close();
		String num = n.toString();
		if(num.charAt(1) != num.charAt(2)) {
			System.out.println("No");
			return;
		}
		char mid = num.charAt(1);
		if(mid == num.charAt(0) || mid == num.charAt(3)) {
			System.out.println("Yes");
		}
		else System.out.println("No");
	}
	
	public static void B() {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		if(N==1) {
			System.out.println(1);
			return;
		}
		sc.close();
		long Li = 2;
		long Lj = 1;
		long temp;
		for(int i=2;i<N+1;i++) {
			temp = Lj;
			Lj = Li+Lj;
			Li = temp;
		}
		System.out.println(Lj);
	}
	
	// 条件満たす演算子があれば、そのリストを返す、なければnull
	// 1 + 2 - 3 =  ->  1 + 2 | -3 ..後ろから切っていく
	public static void C() {
		Scanner sc = new Scanner(System.in);
		String num = sc.next();
		int[] nums = new int[4];
		for(int i=0;i<4;i++) {
			nums[i] = Character.getNumericValue(num.charAt(i)); 
		}
		ArrayList<Character> lis = calc(nums,7);
		System.out.print(nums[0]);
		for(int i=0;i<3;i++) {
			System.out.print(lis.get(i)+ "" +nums[i+1]);
		}
		System.out.println("=7");
	}
	public static ArrayList<Character> calc(int[] nums, int right) {
		return calc(nums,nums.length-1,right,new ArrayList<Character>());
	}
	public static ArrayList<Character> calc(int[] nums, int idx, int right, ArrayList<Character> lis) {
		if(idx == 0) {
			if(nums[0] == right) return lis;
			else return null;
		}
		ArrayList<Character> cand1 = calc(nums,idx-1,right+nums[idx],lis);
		if(cand1 != null) {
			cand1.add('-');
			return cand1;
		}
		ArrayList<Character> cand2 = calc(nums,idx-1,right-nums[idx],lis);
		if(cand2 != null) {
			cand2.add('+');
			return cand2;
		}
		return null;
	}
	
}