import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { private static String RESULT; public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 // while (in.hasNextInt()) { // 注意 while 处理多个 case // int a = in.nextInt(); // int b = in.nextInt(); // System.out.println(a + b); // } String line = in.nextLine(); if (line.contains("joker") || line.contains("JOKER")) { System.out.print("ERROR"); return; } String[] ss = line.split(" "); int[] arr = new int[4]; for (int i = 0; i < 4; i++) { if ("J".equals(ss[i])) { arr[i] = 11; } else if ("Q".equals(ss[i])) { arr[i] = 12; } else if ("K".equals(ss[i])) { arr[i] = 13; } else if ("A".equals(ss[i])) { arr[i] = 1; } else { arr[i] = Integer.parseInt(ss[i]); } } for (int i = 0; i < 4; i++) { boolean[] visited = new boolean[4]; visited[i] = true; String resultStr = ss[i]; if (dfs(ss, arr, i, arr[i], visited, resultStr)) { System.out.print(RESULT); return; } } System.out.print("NONE"); } private static boolean dfs(String[] ss, int[] arr, int index, int result, boolean[] visited, String resultStr) { visited[index] = true; boolean visiteAll = true; for (int i = 0; i < 4; i++) { if (!visited[i]) { visiteAll = false; } } if (visiteAll && result != 24) { return false; } else if (visiteAll && result == 24) { RESULT = resultStr; return true; } for (int i = 0; i < 4; i++) { if (!visited[i]) { if (dfs(ss, arr, i, result + arr[i], visited, resultStr + "+" + ss[i])) { return true; } else { visited[i] = false; } if (dfs(ss, arr, i, result - arr[i], visited, resultStr + "-" + ss[i])) { return true; } else { visited[i] = false; } if (dfs(ss, arr, i, result * arr[i], visited, resultStr + "*" + ss[i])) { return true; } else { visited[i] = false; } if (dfs(ss, arr, i, result / arr[i], visited, resultStr + "/" + ss[i])) { return true; } else { visited[i] = false; } } } return false; } }