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
#include<bits/stdc++.h>
int m,k;
int s,naw;
char c[500];
char trzy[] = ")1+1+1(*";
char dwa[] = ")1+1(*";
char jeden[] = ")1+";

int main(){
	scanf("%d", &m);
	while(m--){
		scanf("%d", &k);
		s=0;
		naw=0;
		while(k>0){
			if(k==1){
				if(s==0)printf("1");
				else{
					for(int i=1;i<=naw;i++){
						printf("(");
					}
					for(int i=s-2;i>=0;i--){
						printf("%c", c[i]);
					}
				}
				k=0;
			}
			else if(k%3==0){
				
				for(int i=0;i<8;i++){
					c[s+i]=trzy[i];
				}
				s+=8;
				k/=3;
			}
			else if(k%2==0){
				for(int i=0;i<6;i++){
					c[s+i]=dwa[i];
				}
				s+=6;
				k/=2;
			}
			else{
				for(int i=0;i<3;i++){
					c[s+i]=jeden[i];
				}
				s+=3;
				naw++;
				k--;
			}
		}
		printf("\n");
	}
}