#include<stdio.h>
#include<string.h>
int x[1000000],i,j,l,max=-35000,m;
unsigned long long int u,p,k,n,st,dr,s1,d1;
void update(int nod,int p,int u,int poz,int val)
{int mij=(p+u)>>1;
if(p==u)
{x[nod]=val;return ;}
if(poz<=mij)update(nod<<1,p,mij,poz,val);
else update((nod<<1)+1,mij+1,u,poz,val);
if(x[nod<<1]<x[(nod<<1)+1])
x[nod]=x[nod<<1];
else
x[nod]=x[(nod<<1)+1];}
int main(){
FILE *f=fopen("secventa.in","r");
fscanf(f,"%lld %lld",&n,&k);
memset(x,-35000,sizeof(x));
for(i=1;i<=k;i++)
{fscanf(f,"%lld",&m);
update(1,1,k,i,m);
}
max=x[1];
st=1;dr=1;
for(i=k+1;i<=n;i++)
{fscanf(f,"%lld",&m);
l=i%k;
if(l==0)
update(1,1,k,k,m);
else
update(1,1,k,l,m);
dr++;
if(x[1]>max)
{max=x[1];
st=dr;}
}
fclose(f);
FILE *g=fopen("secventa.out","w");
fprintf(g,"%lld %lld %d",st,st+k-1,max);
fclose(g);
return 0;}