#include <iostream>
using namespace std;
void
__lcs__( int sigmaLength )
{
int seq[10001] = { 0 };
for( int i = 1; i <= sigmaLength; i++ )
cin >> seq[i];
int
f[10001] = { 0 }, ans = 0, lcs_start = 1, lcs_end = 1, t_start = 1, negativeflag = true;
if( seq[1] >= 0 )
negativeflag = false;
f[1] = seq[1];
ans = f[1];
for( int i = 2; i <= sigmaLength ; i++ )
{
if( seq[i] >= 0 )
negativeflag = false;
if( f[i - 1] >= 0 )
f[i] = f[i - 1] + seq[i];
else
{
f[i] = seq[i]; //开始新的序列的搜索
t_start = i; //记录下新的起始点
}
if( ans < f[i] )
{
ans = f[i]; //更新和
lcs_start = t_start; //更新起始点和重点
lcs_end = i;
}
}
if( sigmaLength == 1 )
{
if( seq[1] >= 0 )
cout << seq[1] << " ";
else
cout << 0 << " "; //注意。。还有这个东西
cout << seq[1] << " " << seq[1] << endl;
return;
}
if( negativeflag )
{
cout << 0 << " " << seq[1] << " " << seq[sigmaLength] << endl;
return;
}
else
{
cout << ans << " " << seq[lcs_start] << " " << seq[lcs_end] << endl;
return;
}
}
void
__read__()
{
int k;
while( cin >> k )
if( k != 0 )
__lcs__( k );
else
return;
}
int
main()
{
__read__();
return 0;
}