#include<iostream>
#include<cstdio>
#include<string>
#include<stack>
#include<queue>
#include<map>
using namespace std;
struct node{
double num;
char op;
bool flag;
};
string str;
stack<node>s;
queue<node>q;
map<char,int>op;
void Change(){
double num;
node temp;
for(int i=0;i<str.length();){
if(str[i]>='0'&&str[i]<='9'){
temp.flag=true;
temp.num=str[i++]-'0';
while(i<str.length()&&str[i]>='0'&&str[i]<='9'){
temp.num=temp.num*10+(str[i]-'0');
i++;
}
q.push(temp);
}else{
temp.flag=false;
while(!s.empty()&&op[str[i]]<=op[s.top().op]){
q.push(s.top());
s.pop();
}
temp.op=str[i];
s.push(temp);
i++;
}
}
whil