#include <iostream>
using namespace std;
int n;
void solve(int ran)
{
if(ran==0){ cout<<0;return ;}//2的0次方
int num=__builtin_popcount(ran);//计算二进制1的个数
for(int i=31;i>=0;i--){
if(ran&(1<<i))
{
if(i!=1){cout<<"2(";solve(i);cout<<")";}//递归
else cout<<2;
if(--num)cout<<'+';//输出num-1个'+'号
}
}
}
int main()
{
while(cin>>n)
solve(n),cout<<endl;
return 0;
}