#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;
}