#define _GLIBCXX_FILESYSTEM
#include<bits/stdc++.h>
#define INF 1000000000
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n, k, i, x, pmaxim, umaxim, minim, maxim, p, s[50010];
int main(){
fin >> n >> k;
minim = INF;
maxim = -INF;
for(i = 1; i <= n; i++){
fin >> x;
s[i] = s[i - 1] + x;
if(i >= k){
if(s[i - k] < minim){
minim = s[i - k];
p = i - k;
}
if(s[i] - minim > maxim){
maxim = s[i] - minim;
pmaxim = p + 1;
umaxim = i;
}
}
}
fout << pmaxim << ' ' << umaxim << ' ' << maxim;
return 0;
}