#include <bits/stdc++.h>
inline long long Max(const long long a, const long long b) {
  return a > b ? a : b;
}
int n, k;
char c;
long long f0, f1 = -1e18, f2 = -1e18, v0, v1, v2;
int main() {
  for (scanf("%d%d", &n, &f0); --n;) {
    scanf(" %c%d", &c, &k), k = c == '+' ? k : -k;
    v0 = f0 + k, v1 = f1 - k, v2 = f2 + k, f0 = Max(v0, Max(v1, v2));
    if (c == '+')
      f1 = Max(v1, v2), f2 = v2;
    else
      f1 = Max(v0, f2 = Max(v1, v2));
  }
  return printf("%lld\n", f0);
}
