#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;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHByaW50KHZlY3RvcjxpbnQ+ICZhcnIpewoJaW50IG4gPSBhcnIuc2l6ZSgpOwoJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykKCWNvdXQgPDwgYXJyW2ldIDw8ICIgIjsKfQppbnQgbWFpbigpIHsKCWludCBuOyBjaW4gPj4gbjsKCXZlY3RvcjxpbnQ+IGFycihuKTsKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgljaW4gPj4gYXJyW2ldOwoJCgl2ZWN0b3I8aW50PiBwcmVmKG4pOwoJdmVjdG9yPGludD4gc3VmZihuKTsKCQoJaW50IHRlbXAgPSBhcnJbMF07CglwcmVmWzBdID0gYXJyWzBdOwoJZm9yKGludCBpID0gMTsgaSA8IG47IGkrKyl7CgkJdGVtcCA9IG1heCh0ZW1wK2FycltpXSwgYXJyW2ldKTsKCQlwcmVmW2ldID0gbWF4KHByZWZbaS0xXSwgdGVtcCk7Cgl9Cgl0ZW1wID0gYXJyW24tMV07CglzdWZmW24tMV0gPSBhcnJbbi0xXTsKCWZvcihpbnQgaSA9IG4tMjsgaSA+PSAwOyBpLS0pewoJCWlmKGFycltpXSA8IGFycltpKzFdKQoJCXRlbXAgPSBtYXgodGVtcCthcnJbaV0sIGFycltpXSk7CgkJZWxzZQoJCXRlbXAgPSBhcnJbaV07CgkJc3VmZltpXSA9IG1heChzdWZmW2krMV0sIHRlbXApOwoJfQoJaW50IHJlcyA9IElOVF9NSU47Cglmb3IoaW50IGkgPSAwOyBpIDwgbi0xOyBpKyspewoJCXJlcyA9IG1heChwcmVmW2ldK3N1ZmZbaSsxXSwgcmVzKTsKCX0KCWNvdXQgPDwgcmVzOwoJcmV0dXJuIDA7Cn0=