#include <climits>
#include <deque>
#include <fstream>
using namespace std;
const int MAX_N = 500000;
int A[MAX_N];
int main() {
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int N, K;
fin >> N >> K;
deque<int> pozitii;
for (int i = 0; i < K; ++i) {
fin >> A[i];
while (!pozitii.empty() && A[pozitii.front()] > A[i]) {
pozitii.pop_front();
}
pozitii.push_front(i);
}
int sol_baza = A[pozitii.back()];
int sol_st = 1;
int sol_dr = K;
for (int i = K; i < N; ++i) {
fin >> A[i];
while (!pozitii.empty() && A[pozitii.front()] > A[i]) {
pozitii.pop_front();
}
pozitii.push_front(i);
while (pozitii.back() <= i - K) {
pozitii.pop_back();
}
if (A[pozitii.back()] > sol_baza) {
sol_baza = A[pozitii.back()];
sol_st = i - K + 2;
sol_dr = i + 1;
}
}
fout << sol_st << ' ' << sol_dr << ' ' << sol_baza;
}