1 #include <bits/stdc++.h>
2 using namespace std;
3 #define _for(i,a,b) for(int i = (a);i < b;i ++)
4
5 string f(int b)
6 {
7 if(b==1)
8 return "1";
9 else if(b==0)
10 return "0";
11
12 string bi;
13 while(b)
14 {
15 if(b&0x1)
16 bi += '1';
17 else bi += '0';
18 b >>= 1;
19 }
20
21 string rnt;
22 int n = bi.size();
23 reverse(bi.begin(),bi.end());
24 _for(i,0,n)
25 {
26 if(bi[i]=='1')
27 {
28 rnt += "2(";
29 rnt += f(n-i-1);
30 rnt += ')';
31 }
32 if(i!=n-1)
33 rnt += '+';
34 }
35
36 return rnt;
37 }
38
39 void wash(string& rnt)
40 {
41 _for(i,0,rnt.size())
42 {
43 if(rnt[i]=='('&&rnt[i+1]=='1')
44 rnt.erase(i--,3);
45 if(rnt[i]=='+'&&(rnt[i+1]=='+'||rnt[i+1]==')'))
46 rnt.erase(i--,1);
47 }
48 if(rnt[rnt.size()-1]=='+')
49 rnt.erase(rnt.size()-1,1);
50 }
51
52 int main()
53 {
54 int a;
55 scanf("%d",&a);
56 string rnt = f(a);
57 wash(rnt);
58 cout << rnt << endl;
59 return 0;
60 }