import java.util.*;
import static java.lang.Math.*;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		// 入力
		String s = sc.next();// 

		String[] str = s.split("");

		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		int c = Integer.parseInt(str[2]);
		int d = Integer.parseInt(str[3]);

		// 計算
		String result;

		result = path("", 1, 0, a, b, c, d);
		result = result.substring(0, 9);

		// 出力
		System.out.println(result);
	}

	static String path(String p, int depth, int cal, int a, int b, int c, int d){
		if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		}
		if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		}
		if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		}
		if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		}

		if(cal == 7) return p + "=7";
		return "";
	}
}

 import java.util.*; util.* java import static java.lang.Math.*; import static java.lang.Math.*; import static java.lang.Math.*; public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		// 入力
		String s = sc.next();// 

		String[] str = s.split("");

		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		int c = Integer.parseInt(str[2]);
		int d = Integer.parseInt(str[3]);

		// 計算
		String result;

		result = path("", 1, 0, a, b, c, d);
		result = result.substring(0, 9);

		// 出力
		System.out.println(result);
	}

	static String path(String p, int depth, int cal, int a, int b, int c, int d){
		if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		}
		if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		}
		if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		}
		if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		}

		if(cal == 7) return p + "=7";
		return "";
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		// 入力
		String s = sc.next();// 

		String[] str = s.split("");

		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		int c = Integer.parseInt(str[2]);
		int d = Integer.parseInt(str[3]);

		// 計算
		String result;

		result = path("", 1, 0, a, b, c, d);
		result = result.substring(0, 9);

		// 出力
		System.out.println(result);
	} main {
		Scanner sc = new Scanner(System.in);

		// 入力
		String s = sc.next();// 

		String[] str = s.split("");

		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		int c = Integer.parseInt(str[2]);
		int d = Integer.parseInt(str[3]);

		// 計算
		String result;

		result = path("", 1, 0, a, b, c, d);
		result = result.substring(0, 9);

		// 出力
		System.out.println(result);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String s = sc.next(); s sc.next() sc.next sc String[] str = s.split(""); str s.split("") s.split s "" int a = Integer.parseInt(str[0]); a Integer.parseInt(str[0]) Integer.parseInt Integer str[0] str 0 int b = Integer.parseInt(str[1]); b Integer.parseInt(str[1]) Integer.parseInt Integer str[1] str 1 int c = Integer.parseInt(str[2]); c Integer.parseInt(str[2]) Integer.parseInt Integer str[2] str 2 int d = Integer.parseInt(str[3]); d Integer.parseInt(str[3]) Integer.parseInt Integer str[3] str 3 String result; result result = path("", 1, 0, a, b, c, d) result path("", 1, 0, a, b, c, d) path "" 1 0 a b c d result = result.substring(0, 9) result result.substring(0, 9) result.substring result 0 9 System.out.println(result) System.out.println System.out System System.out result String[] args args static String path(String p, int depth, int cal, int a, int b, int c, int d){
		if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		}
		if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		}
		if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		}
		if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		}

		if(cal == 7) return p + "=7";
		return "";
	} path {
		if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		}
		if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		}
		if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		}
		if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		}

		if(cal == 7) return p + "=7";
		return "";
	} if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		} depth == 1 depth 1 {
			return path(p + a, depth + 1, a, a, b, c, d);
		} return path(p + a, depth + 1, a, a, b, c, d); path(p + a, depth + 1, a, a, b, c, d) path p + a p a depth + 1 depth 1 a a b c d if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		} depth == 2 depth 2 {
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		} return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d); path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d) path(p + "+" + b, depth + 1, cal + b, a, b, c, d) path p + "+" + b p + "+" + b p "+" b depth + 1 depth 1 cal + b cal b a b c d path(p + "-" + b, depth + 1, cal - b, a, b, c, d) path p + "-" + b p + "-" + b p "-" b depth + 1 depth 1 cal - b cal b a b c d if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		} depth == 3 depth 3 {
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		} return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d); path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d) path(p + "+" + c, depth + 1, cal + c, a, b, c, d) path p + "+" + c p + "+" + c p "+" c depth + 1 depth 1 cal + c cal c a b c d path(p + "-" + c, depth + 1, cal - c, a, b, c, d) path p + "-" + c p + "-" + c p "-" c depth + 1 depth 1 cal - c cal c a b c d if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		} depth == 4 depth 4 {
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		} return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d); path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d) path(p + "+" + d, depth + 1, cal + d, a, b, c, d) path p + "+" + d p + "+" + d p "+" d depth + 1 depth 1 cal + d cal d a b c d path(p + "-" + d, depth + 1, cal - d, a, b, c, d) path p + "-" + d p + "-" + d p "-" d depth + 1 depth 1 cal - d cal d a b c d if(cal == 7) return p + "=7"; cal == 7 cal 7 return p + "=7"; p + "=7" p "=7" return ""; "" String p p int depth depth int cal cal int a a int b b int c c int d d public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		// 入力
		String s = sc.next();// 

		String[] str = s.split("");

		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		int c = Integer.parseInt(str[2]);
		int d = Integer.parseInt(str[3]);

		// 計算
		String result;

		result = path("", 1, 0, a, b, c, d);
		result = result.substring(0, 9);

		// 出力
		System.out.println(result);
	}

	static String path(String p, int depth, int cal, int a, int b, int c, int d){
		if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		}
		if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		}
		if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		}
		if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		}

		if(cal == 7) return p + "=7";
		return "";
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		// 入力
		String s = sc.next();// 

		String[] str = s.split("");

		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		int c = Integer.parseInt(str[2]);
		int d = Integer.parseInt(str[3]);

		// 計算
		String result;

		result = path("", 1, 0, a, b, c, d);
		result = result.substring(0, 9);

		// 出力
		System.out.println(result);
	}

	static String path(String p, int depth, int cal, int a, int b, int c, int d){
		if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		}
		if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		}
		if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		}
		if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		}

		if(cal == 7) return p + "=7";
		return "";
	}
} Main
import java.util.*;
import static java.lang.Math.*;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		// 入力
		String s = sc.next();// 

		String[] str = s.split("");

		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		int c = Integer.parseInt(str[2]);
		int d = Integer.parseInt(str[3]);

		// 計算
		String result;

		result = path("", 1, 0, a, b, c, d);
		result = result.substring(0, 9);

		// 出力
		System.out.println(result);
	}

	static String path(String p, int depth, int cal, int a, int b, int c, int d){
		if(depth == 1){
			return path(p + a, depth + 1, a, a, b, c, d);
		}
		if(depth == 2){
			return path(p + "+" + b, depth + 1, cal + b, a, b, c, d) + path(p + "-" + b, depth + 1, cal - b, a, b, c, d);
		}
		if(depth == 3){
			return path(p + "+" + c, depth + 1, cal + c, a, b, c, d) + path(p + "-" + c, depth + 1, cal - c, a, b, c, d);
		}
		if(depth == 4){
			return path(p + "+" + d, depth + 1, cal + d, a, b, c, d) + path(p + "-" + d, depth + 1, cal - d, a, b, c, d);
		}

		if(cal == 7) return p + "=7";
		return "";
	}
}


