#include<iostream>
#include<stack>
#include<string>
#include<vector>
#include<sstream>

std::string a;
std::vector<std::string>v;
std::vector<std::string>va;
std::stack<std::string>s;
int i=0;

void bun(){
	int ii=0,k=0;
	for(int jj=0;jj<a.size();jj++){
		if(a[jj]=='+'||a[jj]=='-'||a[jj]=='*'||a[jj]=='/'||a[jj]==')'){
			if(a[jj-1]!=')'){
				v.push_back("1");
				std::stringstream z;
				z<<a.substr(ii,jj-ii);
				z>>v[k];
				k++;
				ii=jj+1;
			}
			v.push_back("1");
			v[k]=a[jj];
			k++;
		}else if(a[jj]=='('){
			v.push_back("1");
			v[k]=a[jj];
			k++;
			ii=jj+1;
		}else if(jj==a.size()-1){
			v.push_back("1");
			jj++;
			std::stringstream z;
			z<<a.substr(ii,jj-ii);
			z>>v[k];
		}
	}
}

std::string change(double p){
	std::stringstream z;
	std::string str;
	z<<p;
	z>>str;
	return str;
}

void por(int p,int q,int si){
	int m=0,ma=0;
	for(int k=p;k<=q;k++){
		if(v[k]==")"){}
		else if(v[k]=="("){
			int ky,z=1;
			for(ky=k+1;ky<=q;ky++){
				if(v[ky]=="(")z++;
				if(v[ky]==")")z--;
				if(z==0)break;
			}
			por(k+1,ky-1,s.size());
			k=ky;
		}else if(v[k]!="+"&&v[k]!="-"&&v[k]!="*"&&v[k]!="/"){
			va.push_back("1");
			va[i]=v[k];
			i++;
		}else if(v[k]=="+"||v[k]=="-"||v[k]=="*"||v[k]=="/"){
			if(v[k]=="+")ma=1;
			if(v[k]=="-")ma=1;
			if(v[k]=="*")ma=2;
			if(v[k]=="/")ma=3;
			while(ma<=m&&s.size()>si){
				va.push_back("1");
				va[i]=s.top();
				s.pop();
				i++;
				if(s.size()>=1){
					if(s.top()=="+")m=1;
					if(s.top()=="-")m=1;
					if(s.top()=="*")m=2;
					if(s.top()=="/")m=3;
				}else break;
			}
			s.push(v[k]);
			m=ma;
		}if(k==q){
			while(s.size()>si){
				va.push_back("1");
				va[i]=s.top();
				s.pop();
				i++;
			}
		}
	}
}

std::string calc(){
	std::stack<std::string>sa;
	for(int k=0;k<va.size();k++){
		if(va[k]!="+"&&va[k]!="-"&&va[k]!="*"&&va[k]!="/")sa.push(va[k]);
		else{
			std::stringstream z;
			std::stringstream zz;
			double x,y;
			z<<sa.top();
			z>>x;
			sa.pop();
			zz<<sa.top();
			zz>>y;
			sa.pop();
			if(va[k]=="+")sa.push(change(y+x));
			if(va[k]=="-")sa.push(change(y-x));
			if(va[k]=="*")sa.push(change(y*x));
			if(va[k]=="/")sa.push(change(y/x));
		}
	}
	return sa.top();
}

int main(){
	std::stringstream z;
	double ans;
	std::cin>>a;
	a.erase(a.size(),1);
	bun();
	por(0,v.size()-1,0);
	z<<calc();
	z>>ans;
	std::cout<<ans<<std::endl;
	return 0;
}