#include "bits/stdc++.h" using namespace std; #define ll long long int #define rep(i,n) for( int i = 0; i < n; i++ ) #define rrep(i,n) for( int i = n; i >= 0; i-- ) #define REP(i,s,t) for( int i = s; i <= t; i++ ) #define RREP(i,s,t) for( int i = s; i >= t; i-- ) #define dump(x) cerr << #x << " = " << (x) << endl; #define INF 2000000000 #define mod 1000000007 #define INF2 1000000000000000000 std::string to_string1(int val) { char buffer[std::numeric_limits::digits10 + 1 + 2]; // '-' + '\0' std::sprintf(buffer, "%d", val); return buffer; } string Correction(string S) { string K; rep(i, S.length()) { if (S[i] == '+' && S[i + 1] == '-') { K += "-"; i++; } else if (S[i] == '-' && S[i + 1] == '-') { K += "+"; i++; } else { K += S[i]; } } return K; } int calc(string s) { if (s.empty()) return 0; size_t p; int x = stoi(s, &p); return x + calc(s.substr(p)); } int main(void) { cin.tie(0); ios::sync_with_stdio(false); string S; cin >> S; string K; rep(i, S.size()) { string T; if (S[i] != '(') { K += S[i]; } else { while (S[++i] != ')') T += S[i]; K += to_string1(calc(T)); } } //cout << K << endl; K = Correction(K); //cout << K << endl; cout << calc(K) << endl; return 0; }