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
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <cmath>
#include <cstdio>
#include <set>
#include <iomanip>
using namespace std;

typedef vector<int> VI;
typedef long long LL;

#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,e) for(int x = 0 ; x < (e) ; ++x)
#define VAR(v,n) _typeof(n) v=(n)
#define ALL(c) (c).begin(),(c).end()
#define SIZE(x) ((int)(x).size())
#define FOREACH(i, c) for(VAR(i, (c).begin()); i != (c).end(); ++i)
#define PB push_back

void rozloz(int n)
{
    if(n==0) return;
    if(n==1) {cout<< "1";return;}
    if(n%2==1)
    {
        cout << "1+";
        rozloz(n-1);
    }
    else if(n!=2)
    {
        cout << "(1+1)*(";
        rozloz(n/2);
        cout<< ")";
    }
    else
    {
    	cout<<"1+1";
    }
}

int main()
{
    int t;
    cin >> t;
    while(t--){
    int n;
    cin >> n;
    rozloz(n);
    cout<<"\n";
    }  

}