#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int SIZE = 5e3 + 10;
long long a[SIZE], sum[SIZE];
pair<long long, long long> ma[SIZE];
long long get(int x, int y) {
  if (!x) return sum[y - 1];
  return sum[y - 1] - sum[x - 1];
}
int main() {
  int(n);
  scanf("%d", &n);
  ma[0] = make_pair(0, 0);
  for (int i = 0; i < (n); ++i) {
    int(x);
    scanf("%d", &x);
    if (i) {
      sum[i] += sum[i - 1];
      ma[i] = ma[i - 1];
    }
    sum[i] += x;
    ma[i] = max(ma[i], make_pair(sum[i], i + 1LL));
  }
  long long res = 0;
  int an[3] = {};
  for (int j = (1); j < (n + 1); ++j)
    for (int i = (1); i < (j + 1); ++i) {
      if (get(i, j) + ma[i - 1].first > res) {
        res = get(i, j) + ma[i - 1].first;
        an[0] = ma[i - 1].second;
        an[1] = i;
        an[2] = j;
      }
    }
  for (int i = 0; i < (3); ++i) printf("%d%c", an[i], " \n"[i == 2]);
  return 0;
}
