#include<iostream>
#include<stack>
using namespace std;
int change1(char ch)
{
return ch-'0';
}
int change2(char ch)
{
if(ch=='+') return 1;
if(ch=='-') return 1;
if(ch=='*') return 2;
if(ch=='/') return 2;
else return 3;
}
string conversion(string s,string str,stack<char> ss)
{
int i=0;
while(i!=s.length())
{
if(s[i]==')')
{
while(ss.top()!='(')
{
str+=ss.top();
ss.pop();
}
if(ss.top()=='(') ss.pop();
i++;
}
if(s[i]!='+'&&s[i]!='-'&&s[i]!='*'&&s[i]!='/'&&s[i]!='('&&s[i]!=')') str+=s[i];
else
{
if(ss.empty()) ss.push(s[i]);
else
{
while(change2(ss.top())>=change2(s[i])&&ss.top()!='(')
{
str+=ss.top();
ss.pop();
if(ss.empty()) break;
}
ss.push(s[i]);
if(change2(ss.top())<change2(s[i]))
{
ss.push(s[i]);
}
}
}
i++;
}
while(!ss.empty())
{
str+=ss.top();
ss.pop();
}
return str;
}
int main()
{
string s,str;
cin>>s;
stack<char> ss;
str=conversion(s,str,ss);
cout<<str<<endl;
return 0;
}