#include<iostream>
#include<iostream>
using namespace std;
int pd(char x){
int p=0;
switch(x)
{case'+':p=0;break;
case'-':p=1;break;
case'*':p=2;break;
case'/':p=3;break;
case'(':p=4;break;
case')':p=5;break;
}
return p;}
int main(){
int sz[5][6]={{0,0,1,1,1,0},{0,0,1,1,1,0},{0,0,0,0,1,0},{0,0,0,0,1,0},{1,1,1,1,1,0}};
string s;
cout<<"输入表达式"<<endl;
cin>>s;
char ysf[20];
int top=0;
char hz[20];
int next=0;
ysf[0]='#';
hz[0]='#';
int f=0;
for(int i=0;s[i]!='\0';i++){
if(s[i]=='('||s[i]==')'||s[i]=='*'||s[i]=='/'||s[i]=='+'||s[i]=='-')
{ if(ysf[top]=='#')
ysf[++top]=s[i];
else
{int b=pd(s[i]);
while(f!=1&&top>=0){
int a=pd(ysf[top]);
if(top==0)break;
if(b==5&&a==4)
{f=1;top--;break;}
f=sz[a][b];
if(f==0)
{hz[++next]=ysf[top];
top--;}
}
f=0;
if(s[i]!=')')
ysf[++top]=s[i];
}
}
else hz[++next]=s[i];
}
if(top!=0)
for(int i=0;i<=top;i++)
hz[++next]=ysf[top--];
for(int i=1;i<=next;i++)
cout<<hz[i];
}