#include <iostream>
#include <string>
#include <iomanip>
#include <algorithm>
#include <cassert>
#define int long long
using namespace std;
string str = " +-*/";
signed main() {
string s;
getline(cin, s);
string ns = "";
for (int i = 0; i < s.size(); i++) {
if (s[i] != ' ' || (s[i] == '+' || s[i] == '-' || s[i] == '*' || s[i] == '/') || isdigit(s[i])) ns += s[i];
}
int num1 = 0, num2 = 0, num3 = 0;
int vis1 = 0, vis2 = 0, vis3 = 0;
char flag;
for (int i = 1; i <= 4; i++) {
if (ns.find(str[i]) != -1) {
string ss = ns.substr(0, ns.find(str[i]));
if (ss != "?") num1 = stoll(ss), vis1 = 1;
flag = str[i];
break;
}
}
string ss = ns.substr(ns.find(flag) + 1, ns.find("=") - ns.find(flag) - 1);
if (ss != "?") num2 = stoll(ss), vis2 = 1;
ss = ns.substr(ns.find("=") + 1, ns.size() - ns.find("=") - 1);
if (ss != "?") {
num3 = stoll(ss), vis3 = 1;
}
double ans = 0.0;
if (num1 == 0 && !vis1) {
if (flag == '+') {
ans = num3 - num2;
}
else if (flag == '-') {
ans = num2 + num3;
}
else if (flag == '/') {
ans = 1.0 * num2 * num3;
}
else {
ans = 1.0 * num3 / num2;
}
}
else if (num2 == 0 && !vis2) {
if (flag == '+') {
ans = num3 - num1;
}
else if (flag == '-') {
ans = num1 - num3;
}
else if (flag == '*') {
ans = 1.0 * num3 / num1;
}
else {
ans = 1.0 * num1 / num3;
}
}
else {
if (flag == '+') {
ans = num1 + num2;
}
else if (flag == '-') {
ans = num1 - num2;
}
else if (flag == '*') {
ans = 1.0 * num1 * num2;
}
else {
ans = 1.0 * num1 / num2;
}
}
cout << fixed << setprecision(2) << ans;
}
Submission Link.