#include <bits/stdc++.h>
using namespace std;

void print(vector<int> &arr){
	int n = arr.size();
	for(int i = 0; i < n; i++)
	cout << arr[i] << " ";
}
int main() {
	int n; cin >> n;
	vector<int> arr(n);
	for(int i = 0; i < n; i++)
	cin >> arr[i];
	
	vector<int> pref(n);
	vector<int> suff(n);
	
	int temp = arr[0];
	pref[0] = arr[0];
	for(int i = 1; i < n; i++){
		temp = max(temp+arr[i], arr[i]);
		pref[i] = max(pref[i-1], temp);
	}
	temp = arr[n-1];
	suff[n-1] = arr[n-1];
	for(int i = n-2; i >= 0; i--){
		if(arr[i] < arr[i+1])
		temp = max(temp+arr[i], arr[i]);
		else
		temp = arr[i];
		suff[i] = max(suff[i+1], temp);
	}
	int res = INT_MIN;
	for(int i = 0; i < n-1; i++){
		res = max(pref[i]+suff[i+1], res);
	}
	cout << res;
	return 0;
}