#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int main(){
int a[500001];
int n, k;
in >> n >> k;
for(int i = 1; i <= n; i++){
in >> a[i];
}
int Max = -30001;
deque<int>d;
int ps;
for(int i = 1; i <= n; i++){
while(!d.empty() && d.front() <= i-k)
d.pop_front();
while(!d.empty() && a[d.back()] >= a[i])
d.pop_back();
d.push_back(i);
int cm = Max;
Max = max(Max,a[d.front()]);
if(Max != cm)
ps= i;
}
out << ps-k+1 << " " << ps << " " << Max;
in.close();
out.close();
return 0;
}