#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
deque<int>dq;
int n, k, sp[500008],a, max1=-1e9,min1=1e9,sum_max=0, st=0, dr=0;
int main()
{
fin>>n>>k;
for (int i=1;i<=n;i++)
{
fin>>a;
sp[i]=sp[i-1]+a;
}
for (int i=0;i<=n;i++)
{
while (!dq.empty() && sp[dq.back()]>sp[i])
{
dq.pop_back();
}
dq.push_back(i);
if (i-dq.front()>=k && sum_max<=sp[i]-sp[dq.front()])
{
sum_max=sp[i]-sp[dq.front()];
st=dq.front()+1;
dr=i;
}
}
fout<<st<<' '<<dr<<' '<<sum_max;
}