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
94
95
96
97
98
// Jedynki.cpp : Defines the entry point for the console application.
//

// #include "stdafx.h"

#include <stdio.h>

using namespace std;


static char sBuff[2048];

static int iBuffCnt;


static inline void Put(char c)
{
    sBuff[iBuffCnt++] = c;
}


static inline void Put(char * s)
{
    while (*s)
    {
        Put(*s++);
    }
}


static void Solve(unsigned int x)
{
    iBuffCnt = 0;

    bool fLastOne = false;

    int iParentsLetf = 0;

    for (;;)
    {
        if (x & 1)
        {
            Put('1');
            fLastOne = true;
        }

        if ((x >>= 1) == 0)
            break;

        if (fLastOne)
        {
            Put("+");
        }

        if (x == 1)
        {
            Put("1+1");
            break;
        }

        Put("(1+1)*(");

        fLastOne = false;

        iParentsLetf++;
    }

    while (iParentsLetf--)
    {
        Put(')');
    }

    sBuff[iBuffCnt] = 0;

    printf("%s\n", sBuff);
}


int main(int argc, char * argv[])
{
//    freopen("sample_input.txt",  "r", stdin);
//    freopen("sample_output.txt", "w", stdout);

    int iCases;

    scanf("%d", &iCases);

    for (int i = 1; i <= iCases; ++i)
    {
        unsigned int x;

        scanf("%d", &x);

        Solve(x);
    }

	return 0;
}