#include<iostream>
#include<string>
using namespace std;
string str;
string tmp;
int turn(string s)
{
int num=0;
for(int i=0;i<s.size();i++)
{
num=num*10+s[i]-'0';
}
return num;
}
int main()
{
getline(cin,tmp);
for(int i=0;i<tmp.size();i++)
{
if(tmp[i]!=' ')
{
str+=tmp[i];
}
}
int p1;
int type;
if(str.find("+")!=string::npos)
{
p1=str.find("+");
type=1;
}
else if(str.find("-")!=string::npos)
{
p1=str.find("-");
type=2;
}
else if(str.find("*")!=string::npos)
{
p1=str.find("*");
type=3;
}
else
{
p1=str.find("/");
type=4;
}
int p2=str.find("=");
string a,b,c;
a=str.substr(0,p1);
b=str.substr(p1+1,p2-p1-1);
c=str.substr(p2+1);
double ans;
switch(type)
{
case 1:
if(a=="?")
{
ans=turn(c)-turn(b);
}
else if(b=="?")
{
ans=turn(c)-turn(a);
}
else
{
ans=turn(a)+turn(b);
}
break;
case 2:
if(a=="?")
{
ans=turn(b)+turn(c);
}
else if(b=="?")
{
ans=turn(a)-turn(c);
}
else
{
ans=turn(a)-turn(b);
}
break;
case 3:
if(a=="?")
{
ans=1.0*turn(c)/turn(b);
}
else if(b=="?")
{
ans=1.0*turn(c)/turn(a);
}
else
{
ans=turn(a)*turn(b);
}
break;
case 4:
if(a=="?")
{
ans=turn(b)*turn(c);
}
else if(b=="?")
{
ans=1.0*turn(a)/turn(c);
}
else
{
ans=1.0*turn(a)/turn(b);
}
break;
}
printf("%.2lf\n",ans);
return 0;
}