#include <iostream>
#include <algorithm>
using namespace std;
void naprawTablice();
long long a[10000] = {};
long long sumy[10000] = {};
int temp=0;
int main()
{
int n;
cin>>n;
for (int x=0; x!=n; x++) cin>>a[x];
for (int x=0; x<n;){
if(a[x]<0){
while(a[x]<=0 && x!=n){
sumy[temp]+=a[x];
x++;
}
temp++;
}
else{
while(a[x]>=0 && x!=n){
sumy[temp]+=a[x];
x++;
}
temp++;
}
}
if(sumy[0]<0)sumy[0]=0;
if(sumy[temp-1]<0)sumy[temp-1]=0;
naprawTablice();
if(temp<3) cout<<sumy[0]<<endl;
else{
for (int x=0; x<temp && temp!=1; x+=2){
if(sumy[x]+sumy[x+1]+sumy[x+2]>=max(sumy[x], sumy[x+2])) {
sumy[x]=sumy[x]+sumy[x+1]+sumy[x+2];
sumy[x+1]=0;
sumy[x+2]=0;
naprawTablice();
naprawTablice();
x=-2;
}
//for (int g=0; g!=temp; g++) cout<<sumy[g]<<endl; cout<<endl;
}
cout<<*max_element(sumy, sumy+temp)<<endl;
}
return 0;
}
void naprawTablice(){
for (int x=0; x<temp-1; x++){
if(sumy[x]==0){
for (int y=x; y!=temp-1; y++) sumy[y]=sumy[y+1];
temp--;
}
}
if(sumy[temp-1]==0) temp--;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgbmFwcmF3VGFibGljZSgpOwoKbG9uZyBsb25nIGFbMTAwMDBdID0ge307CmxvbmcgbG9uZyBzdW15WzEwMDAwXSA9IHt9OwppbnQgdGVtcD0wOwoKaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIGZvciAoaW50IHg9MDsgeCE9bjsgeCsrKSBjaW4+PmFbeF07CgogICAgZm9yIChpbnQgeD0wOyB4PG47KXsKICAgICAgICBpZihhW3hdPDApewogICAgICAgICAgICB3aGlsZShhW3hdPD0wICYmIHghPW4pewogICAgICAgICAgICAgICAgc3VteVt0ZW1wXSs9YVt4XTsKICAgICAgICAgICAgICAgIHgrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICB0ZW1wKys7CgogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICB3aGlsZShhW3hdPj0wICYmIHghPW4pewogICAgICAgICAgICAgICAgc3VteVt0ZW1wXSs9YVt4XTsKICAgICAgICAgICAgICAgIHgrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICB0ZW1wKys7CgogICAgICAgIH0KICAgIH0KICAgIGlmKHN1bXlbMF08MClzdW15WzBdPTA7CiAgICBpZihzdW15W3RlbXAtMV08MClzdW15W3RlbXAtMV09MDsKCiAgICBuYXByYXdUYWJsaWNlKCk7CgogICAgaWYodGVtcDwzKSBjb3V0PDxzdW15WzBdPDxlbmRsOwogICAgZWxzZXsKICAgICAgICBmb3IgKGludCB4PTA7IHg8dGVtcCAmJiB0ZW1wIT0xOyB4Kz0yKXsKCiAgICAgICAgICAgIGlmKHN1bXlbeF0rc3VteVt4KzFdK3N1bXlbeCsyXT49bWF4KHN1bXlbeF0sIHN1bXlbeCsyXSkpIHsKICAgICAgICAgICAgICAgIHN1bXlbeF09c3VteVt4XStzdW15W3grMV0rc3VteVt4KzJdOwogICAgICAgICAgICAgICAgc3VteVt4KzFdPTA7CiAgICAgICAgICAgICAgICBzdW15W3grMl09MDsKICAgICAgICAgICAgICAgIG5hcHJhd1RhYmxpY2UoKTsKICAgICAgICAgICAgICAgIG5hcHJhd1RhYmxpY2UoKTsKICAgICAgICAgICAgICAgIHg9LTI7CiAgICAgICAgICAgIH0KICAgICAgICAvL2ZvciAoaW50IGc9MDsgZyE9dGVtcDsgZysrKSBjb3V0PDxzdW15W2ddPDxlbmRsOyBjb3V0PDxlbmRsOwogICAgICAgIH0KCiAgY291dDw8Km1heF9lbGVtZW50KHN1bXksIHN1bXkrdGVtcCk8PGVuZGw7CiAgICB9CgoKICAgIHJldHVybiAwOwp9Cgp2b2lkIG5hcHJhd1RhYmxpY2UoKXsKICAgIGZvciAoaW50IHg9MDsgeDx0ZW1wLTE7IHgrKyl7CiAgICAgICAgaWYoc3VteVt4XT09MCl7CiAgICAgICAgICAgIGZvciAoaW50IHk9eDsgeSE9dGVtcC0xOyB5KyspIHN1bXlbeV09c3VteVt5KzFdOwogICAgICAgICAgICB0ZW1wLS07CiAgICAgICAgfQogICAgfQogICAgaWYoc3VteVt0ZW1wLTFdPT0wKSB0ZW1wLS07Cn0K