#include <iostream> #include <vector> using namespace std; void Q(int a) { vector<int> vec;//0001-8 while (a != 0) { vec.push_back(a % 2); a /= 2; } for(int i=vec.size()-1;i>=0;i--) { if(i==0&&vec[i]==1)cout<<"2(0)"; else if(i==1&&vec[i]==1&&vec[0]==1)cout<<"2+"; else if(i==1&&vec[i]==1&&vec[0]==0)cout<<"2"; else if(i==2&&vec[i]==1&&(vec[0]==1||vec[1]==1))cout<<"2(2)+"; else if(i==2&&vec[i]==1&&(vec[0]==0&&vec[1]==0))cout<<"2(2)"; else if(vec[i]==1) { int j=i-1; int flag=0;//要不要输出+ while(j>=0) { if(vec[j]==1) { flag=1;break; } j--; } cout<<"2("; Q(i); cout<<")"; if(flag==1)cout<<"+"; } } } int main() { int a; while (cin >> a) { if(a==1)cout<<"2(0)"<<endl; else if(a==2)cout<<"2"<<endl; else if(a==3)cout<<"2+2(0)"<<endl; else if(a==4)cout<<"2+2"<<endl; else{ Q(a); cout << endl; } } }