#include <bits/stdc++.h>
using ui = uint64_t;
using li = int64_t;
li num[100100];
char op[100100];
int main() {
  std::cin.sync_with_stdio(false);
  std::cout.sync_with_stdio(false);
  int N;
  std::cin >> N;
  std::cin >> num[0];
  int temp_n = 1;
  bool is_mode_add = true;
  for (int i = 1; i < N; ++i) {
    std::cin >> op[temp_n];
    std::cin >> num[temp_n];
    bool next_mode = (op[temp_n] == '+');
    if (is_mode_add && next_mode) {
      num[temp_n - 1] += num[temp_n];
    } else {
      is_mode_add = next_mode;
      ++temp_n;
    }
  }
  op[temp_n] = op[temp_n + 1] = '-';
  num[temp_n] = num[temp_n + 1] = 0;
  for (int i = temp_n - 1; i >= 0; --i) {
    num[i] += num[i + 1];
  }
  li res = (num[0] - num[0 + 1]);
  int minus_num = 0;
  for (int i = 1; i < temp_n; ++i) {
    if (minus_num == 0) {
      if (op[i] == '+') {
        res += (num[i] - num[i + 1]);
      } else {
        ++minus_num;
        res -= (num[i] - num[i + 1]);
      }
    } else if (minus_num == 1) {
      if (op[i] == '+') {
        int mi_i = i;
        while (op[mi_i] != '-') {
          ++mi_i;
        }
        res += std::abs((num[i] - num[mi_i]) - (num[mi_i] - num[mi_i + 1]));
        res += num[mi_i + 1];
        break;
      } else {
        ++minus_num;
        res += (num[i] - num[i + 1]);
      }
    } else {
      res += num[i];
      break;
    }
  }
  std::cout << res << std::endl;
}
