#include<iostream>
#include<vector>
using namespace std;
int main(){
int N,flag=0,dp[100010],s[100010];
scanf("%d",&N);
vector<int> v(N);
for(int i=0;i<N;i++){
scanf("%d",&v[i]);
if(v[i]>=0) flag=1;
}
if(flag==0){
printf("0 %d %d\n",v[0],v[N-1]);
return 0;
}
dp[0]=v[0];s[0]=0;
for(int i=1;i<N;i++){
if(dp[i-1]+v[i]>v[i]){
dp[i]=dp[i-1]+v[i];
s[i]=s[i-1];
}else{
dp[i]=v[i];
s[i]=i;
}
}
int k=0;
for(int i=1;i<N;i++){
if(dp[i]>dp[k])
k=i;
}
printf("%d %d %d",dp[k],v[s[k]],v[k]);
}