#include <bits/stdc++.h>
using namespace std;
int a[101000];
int dp[101000][3];
int n;
int R(int p, int s) {
  if (p == n + 1) return 0;
  if (dp[p][s] != -1) return dp[p][s];
  int res = R(p + 1, s);
  if (s < 2) res = max(res, R(p + 1, s + 1));
  if (s == 0) res = max(res, R(p + 1, 2));
  return dp[p][s] = res + ((s == 1) ? a[p] : -a[p]);
}
int main() {
  scanf("%d", &n);
  a[0] = 0;
  for (int i = (1); i < (n + 1); ++i) {
    int p;
    scanf("%d", &p);
    a[i] = p;
  }
  memset(dp, -1, sizeof(dp));
  printf("%d\n", R(0, 0));
  return 0;
}
