#include <bits/stdc++.h>
using namespace std;
#pragma GCC target("avx2")
#pragma GCC optimization("O2")
#pragma GCC optimization("unroll-loops")
const long double ERR = 1e-5;
const int MOD = 1e9 + 7;
bool areEqual(long double _n1, long double _n2) {
  return fabs(_n1 - _n2) < ERR;
}
int N;
string formatOperators(string);
string formatNumbers(string);
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  string exp;
  getline(cin, exp);
  string opS = "+ " + formatOperators(exp);
  string nmS = formatNumbers(exp);
  vector<char> op;
  vector<int> nm;
  if (true) {
    stringstream SS(opS);
    char c;
    while (SS >> c) op.push_back(c);
  }
  if (true) {
    stringstream SS(nmS);
    int n;
    while (SS >> n) nm.push_back(n);
  }
  N = op.size();
  int RES = 0;
  for (int i = 0; i < N; i++) {
    char _op = op[i];
    int _num = nm[i];
    int len = (_num ? log10(_num) + 1 : 1);
    (_op == '+' ? RES += _num : RES -= _num);
    if (!i) continue;
    (_op == '+' ? RES += -5 * pow(10, len) : RES += 3 * pow(10, len));
  }
  cout << RES << '\n';
}
string formatOperators(string S) {
  for (char &c : S) {
    if (c != '+' && c != '-') c = ' ';
  }
  return S;
}
string formatNumbers(string S) {
  for (char &c : S) {
    if (c == '+' || c == '-') c = ' ';
  }
  return S;
}
