#include <iostream>
#include <fstream>
using namespace std;
const int NMAX = 6000000;
void doSum();
void writeData();
int n;
int x;
int currentbeg = 1;
int currentend = 1;
int bestbeg = 1;
int bestend = 1;
int sum;
int bestsum;
int main()
{
doSum();
writeData();
return 0;
}
void doSum()
{
ifstream inFile ("ssm.in");
inFile >> n;
inFile >> sum;
bestsum = sum;
for(int i=2; i<=n; i++)
{
inFile >> x;
if(sum < 0)
{
sum = x;
currentbeg = i;
currentend = i;
}
else
{
sum += x;
currentend++;
}
if(sum > bestsum)
{
if(sum == bestsum)
{
if(currentbeg < bestbeg)
{
bestsum = sum;
bestbeg = currentbeg;
bestend = currentend;
}
if(currentbeg == bestbeg && bestend-bestbeg > currentbeg-currentend)
{
bestsum = sum;
bestbeg = currentbeg;
bestend = currentend;
}
}
bestsum = sum;
bestbeg = currentbeg;
bestend = currentend;
}
}
inFile.close();
}
void writeData( )
{
ofstream outFile ("ssm.out");
outFile << bestsum << " " << bestbeg << " " << bestend;
outFile.close();
}