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

int main()
{
   
    vector<int>a={5,6,-1,4,-6,8,-14,6};
    int n=a.size();
    vector<int>p1(n+1,INT_MIN),p2(n+1,INT_MIN),p3(n+1,INT_MIN),p4(n+1,INT_MIN);
    p1[0]=max(a[0],0);
    p3[0]=p1[0];
    for(int i=1;i<n;i++){
        p1[i]=max({p1[i-1]+a[i],a[i],0});
        p3[i]=max(p3[i-1],p1[i]);
    }
    // for(int i=0;i<n;i++){
    //     cout<<p1[i]<<" ";
    // }
    //     cout<<endl;
    //     for(int i=0;i<n;i++){
    //     cout<<p3[i]<<" ";
    // } 
    p2[n-1]=max({a[n-1],0});
    p4[n-1]=p2[n-1];
    for(int i=n-2;i>=0;i--){
        p2[i]=max({p2[i+1]+a[i],a[i],0});
        p4[i]=max(p4[i+1],p2[i]);
    }
    // cout<<endl;
    //     for(int i=0;i<n;i++){
    //     cout<<p2[i]<<" ";
    // }
    // cout<<endl;
    //     for(int i=0;i<n;i++){
    //     cout<<p4[i]<<" ";
    // }    

    
    // for(int i=0;i<n;i++){
    
    //     cout<<i<<" "<<p3[i]<<" "<<p4[i+1]<<endl;
        
    // }
    
    // cout<<endl;
    
    int ans=INT_MIN;
    ans=p4[0];
    // cout<<"---"<<ans<<endl;;
    for(int i=0;i<n;i++){
        ans=max(ans,p3[i]+p4[i+1]);
    }
    cout<<" ans "<<ans<<endl;
    return 0;
}