#include<bits/stdc++.h>
using namespace std;
long long n,a[400005],f1[400005],f2[400005],sum,ans=INT_MIN,ans1=INT_MAX,m1[400005],m2[400005];
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i],sum+=a[i];
f1[1]=a[1];
m1[1]=a[1];
for(int i=2;i<=n;i++){
f1[i]=max(f1[i-1],0ll)+a[i];
m1[i]=max(m1[i-1],f1[i]);
}
f2[n+1]=0;
m2[n+1]=0;
for(int i=n;i>=1;i--){
f2[i]=max(f2[i+1],0ll)+a[i];
m2[i]=max(m2[i+1],f2[i]);
}
for(int i=1;i<=n;i++){
ans=max(ans,m1[i]+m2[i]);
}
memset(f1,0x3f,sizeof f1);
memset(f2,0x3f,sizeof f2);
m1[1]=a[1];
f1[1]=a[1];
m2[n+1]=0;
f2[n+1]=0;
for(int i=2;i<=n;i++){
f1[i]=min(f1[i-1],0ll)+a[i];
m1[i]=min(m1[i-1],f1[i]);
}
for(int i=n;i>=1;i--){
f2[i]=min(f2[i+1],0ll)+a[i];
m2[i]=min(m2[i+1],f2[i]);
}
for(int i=1;i<=n;i++){
ans1=min(ans1,m1[i]+m2[i]);
}
cout<<max(ans,sum-ans1);
}