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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <bits/stdc++.h>

#define scanf(arg...) (scanf(arg)?:0)
#define FOR(x, b, e) for(int x = b; x <= (e); ++x)
#define FORD(x, b, e) for(int x = b; x >= (e); --x)
#define REP(x, b) for(int x = 0; x < (b); ++x)
#define SIZE(c) ((int)c.size())
#define ALL(c) (c).begin(), (c).end()
#define PB push_back
#define MP make_pair
#define ST first
#define ND second

using namespace std;

typedef long double LD;
typedef long long LL;
typedef unsigned long long ULL;
typedef vector <int> VI;
typedef pair <int, int> PII;
typedef vector <PII> VPII;

const int MAXN = 1e6 + 9;

char ans[MAXN];
VI vec;

int main()
{
    int t, k, ile, nawiasy;
    
    cin>>t;
    
    while(t--)
      {
          scanf("%d", &k);
          
          if(k == 1)
            {
                puts("1");
                continue;
            }
          
          vec.clear();
          
          while(k > 0)
            {
                vec.PB(k % 2);
                
                k /= 2;
            }
          
          vec.pop_back();
          reverse(ALL(vec));
          
          ile = 0;
          nawiasy = 0;
          
          ile = 1;
          ans[0] = '1';
          
          REP(i, SIZE(vec))
            {
                ans[ile++] = '*';
                ans[ile++] = '(';
                ans[ile++] = '1';
                ans[ile++] = '+';
                ans[ile++] = '1';
                ans[ile++] = ')';
                ans[ile++] = ')';
                nawiasy++;
                
                if(vec[i] == 1)
                  {
                      ans[ile++] = '+';
                      ans[ile++] = '1';
                      ans[ile++] = ')';
                      nawiasy++;
                  }
            }
          
          ile--;
          nawiasy--;
          ans[ile] = 0;
          
          REP(i, nawiasy)
            printf("(");
          
          printf("%s\n", ans);
      }
    
    return 0;
}