// 递归真的太巧妙了
// 数最大20000,最多2的十四次方,是2的多少次幂的和就是看移位的过程中有多少位为1
#include <iostream>
#include <cstring>
#include <algorithm>
#include<string>
using namespace std;
const int N = 20010;
int n;
string dfs(int n)
{
string res;
for(int i=14;i>=0;i--) //是2的多少次幂的和就是看移位的过程中有多少位为1
{
if(n>>i&1)
{
if(res.size()) res+="+";
if(i==0) res+="2(0)";
else if(i==1) res+="2";
else if(i==2) res+="2(2)";
else res+="2("+dfs(i)+")";
}
}
return res;
}
int main()
{
while(cin>>n)
{
cout<<dfs(n)<<endl;
}
return 0;
}