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
#include <cstdio>
#include <algorithm>
#include <string>
using namespace std;
#define forv(na,it) for(__typeof(na.begin()) it=na.begin(); it!=na.end(); it++)
string rek (int x)
	{
	string wyn;
	if (x==1) return "";
	if (x>0) wyn=rek(x/2);
	if (wyn.size()==0) wyn="1+1";
	else if (*wyn.rbegin()==')') wyn=wyn+"*(1+1)";
	else wyn="("+wyn+")*(1+1)";
	if (x%2==1) wyn=wyn+"+1";
	return wyn;
	}
int main ()
{
int q, x;
scanf ("%d", &q);
string wyn;
while (q--)
	{
	scanf ("%d", &x);
	if (x==1)
		{
		printf ("1\n");
		continue;
		}
	wyn=rek(x);
	forv(wyn, it)
		printf ("%c", *it);
	printf ("\n");
	}
}