#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; class Parser { private: string s; string::const_iterator itr; public: Parser(const string& t) { s = t; itr = s.begin(); } int exec() { int ans = 0; { bool pls = true; while (itr != s.end()) { if (*itr == ')') { ++itr; return ans; } if (*itr == '(') { ++itr; ans += exec() * (pls ? 1 : -1); continue; } if (*itr == '+') { ++itr; pls = true; } if (*itr == '-') { ++itr; pls = false; } if (isdigit(*itr)) { ans += (*itr - '0') * (pls ? 1 : -1); ++itr; } } } return ans; } }; int main() { cin.tie(nullptr)->sync_with_stdio(false); string s; cin >> s; Parser parser(s); cout << parser.exec() << '\n'; return 0; }