#include <cstdio>
#include <climits>
#include <vector>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include<bitset>
#include <map>
#include <cstring>
#include<algorithm>
using namespace std;
int n;
long long int sMax, stMax, drMax, sum;
FILE* fin, * fout;
int main()
{
fin = fopen("ssm.in", "r");
fout = fopen("ssm.out", "w");
fscanf(fin, "%d", &n);
fscanf(fin, "%lld", &sum);
long long int st = 1, dr = 1;
sMax = sum, drMax = dr, stMax = st;
for (int i = 2; i <= n; i++)
{
long long int x;
fscanf(fin, "%lld", &x);
if (sum + x < x)
{
//schimb
st = i;
dr = i;
sum = x;
if (sum > sMax) {
stMax = st;
drMax = dr;
sMax = sum;
}
}
else {
sum += x;
dr = i;
if (sum > sMax) {
stMax = st;
drMax = dr;
sMax = sum;
}
}
}
fprintf(fout, "%lld %lld %lld", sMax, stMax, drMax);
return 0;
}