1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.util.Scanner;

public class jed {

    private static final int N = 32;

    private static String[] a = new String[N];

    public static void main(String[] args) {
    	
    	Scanner scanner = new Scanner(System.in);
        
        int t = scanner.nextInt();
        
        for (int i = 0; i < t; i++) {
			solve(scanner);
		}
        
        scanner.close();
    }

	private static void solve(Scanner scanner) {
		int k = scanner.nextInt();

        a[0] = "1+1";

        for (int i = 1; i < N; i++) {
            a[i] = "(" + a[i-1] + ")*(1+1)";
        }

        StringBuilder out = new StringBuilder();

        String bits = Integer.toBinaryString(k);
        int len = bits.length();

        for (int i = 0; i < len; i++) {
            if (bits.charAt(len - 1 - i) == '1') {
                if (i > 0) {
                    out.append(a[i-1]).append("+");
                } else {
                    out.append("1+");
                }
                if (out.toString().replaceAll("[^1]", "").length() > 100) {
                    System.out.println("NIE");
                    return;
                }
            }

        }

        if (out.toString().endsWith("+")) {
            out.deleteCharAt(out.length() - 1);
        }

        System.out.println(out.toString());
	}
}