#include <bits/stdc++.h>
using namespace std;
const int mn = 100005;
long long a[mn];
int n;
char o[mn];
long long getmax(int s);
long long getmin(int s);
long long getmax(int s) {
  if (s == n - 1)
    return a[n - 1] + a[n];
  else if (s == n)
    return o[n - 1] == '+' ? a[n] : -a[n];
  long long ret = a[s];
  for (int i = s + 1; i <= n; i++) {
    if (o[i - 1] == '+')
      ret += a[i];
    else {
      ret -= getmin(i);
      break;
    }
  }
  return ret;
}
long long getmin(int s) {
  if (s == n - 1)
    return a[n - 1] - a[n];
  else if (s == n)
    return o[n - 1] == '+' ? a[n] : -a[n];
  long long ret = a[s];
  for (int i = s + 1; i <= n; i++) {
    if (o[i - 1] == '+')
      ret += a[i];
    else {
      ret -= getmax(i);
      break;
    }
  }
  return ret;
}
int main() {
  int i;
  scanf("%d", &n);
  for (i = 1; i < n; i++) {
    scanf("%lld", &a[i]);
    getchar();
    o[i] = getchar();
  }
  scanf("%lld", &a[i]);
  printf("%lld\n", getmax(1));
}
