#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
using namespace std;
int a[10010];
struct T
{
int sum;
int head;
}d[10010];
int main()
{
int n;
while(scanf("%d",&n),n)
{
int head=-1;
int i;
bool flag=false;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]>=0)
{
flag=true;
if(head==-1)
{
head=i;
}
}
}
if(!flag)
{
printf("0 %d %d\n",a[0],a[n-1]);
continue;
}
//d[head],,,d[n-1]
d[head].head=head;
d[head].sum=a[head];
int Max=a[head],maxi=head,maxj=head;
for(i=head+1;i<n;i++)
{
d[i].head=i;
d[i].sum=a[i];
if(d[i-1].sum>=0)
{
d[i].sum=d[i-1].sum+a[i];
d[i].head=d[i-1].head;
}
if(Max<d[i].sum)
{
Max=d[i].sum;
maxi=d[i].head;
maxj=i;
}
}
printf("%d %d %d\n",Max,a[maxi],a[maxj]);
}
return 0;
}