#include using namespace std; using ll = long long; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b A){ ll L = A.size(); FOR(i, 0, L){ if(i) cout << ' '; cout << A[i]; } cout << endl; } // 構文解析セット typedef string::const_iterator State; class ParseError {}; ll number(State &begin) { ll ret = 0; while (isdigit(*begin)) { ret *= 10; ret += *begin - '0'; begin++; } return ret; } ll term(State &begin) { ll ret = number(begin); for (;;) { if (*begin == '*') { begin++; ret *= number(begin); } else if (*begin == '/') { begin++; ret /= number(begin); } else { break; } } return ret; } ll expression(State &begin) { ll ret = term(begin); for (;;) { if (*begin == '+') { begin++; ret += term(begin); } else if (*begin == '-') { begin++; ret -= term(begin); } else { break; } } return ret; } // 構文解析セットおわり int main(){ cin.tie(0); ios::sync_with_stdio(false); // input string s; cin >> s; State it = s.begin(); ll value = expression(it); p(value); return 0; }