#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<math.h>
using namespace std;
string f(int n) {
string res = "";
vector<int>v;
while (n != 0) {
int t = n % 2;
v.push_back(t);
n /= 2;
}
reverse(v.begin(), v.end());
for (int i = 0; i < v.size(); i++) {
if (v[i] == 0)continue;
if (i == v.size() - 1) {
if (res.size() != 0)res += "+";
res += "2(0)";
}
else if(i==v.size()-2){
if (res.size() != 0)res += "+";
res += "2";
}
else if (i == v.size() - 3) {
if (res.size() != 0)res += "+";
res += "2(2)";
}
else {
res += "2(";
res += f(v.size()-1-i);
res += ")";
}
}
while (res.find(")2") != res.npos) {
int pos = res.find(")2");
res.insert(pos + 1, "+");
}
return res;
}
int main() {
int n;
while (cin >> n) {
cout << f(n) << endl;
}
return 0;
}