#include <bits/stdc++.h>
using namespace std;
long long p[222222];
long long sum[222222];
long long max1[222222];
long long max2[222222];
long long get(long long l, long long r) {
  long long t = sum[r];
  if (l >= 1) {
    t -= sum[l - 1];
  }
  return t;
}
int main() {
  long long n, k;
  cin >> n >> k;
  for (long long i = 0; i < n; i++) {
    cin >> p[i];
    if (i) {
      sum[i] = sum[i - 1] + p[i];
    } else {
      sum[i] = p[i];
    }
  }
  for (long long i = 0; i < n; i++) {
    if (i < k - 1) {
      max1[i] = 0;
    } else {
      max1[i] = max(max1[i - 1], get(i + 1 - k, i));
    }
  }
  long long b = -1;
  for (long long i = 0; i < n; i++) {
    if (i < 2 * k - 1) {
      max2[i] = 0;
    } else {
      max2[i] = max(max2[i - 1], get(i + 1 - k, i) + max1[i - k]);
      ;
    }
  }
  long long i = n - 1;
  while (i >= 0) {
    if (max2[i - 1] >= get(i + 1 - k, i) + max1[i - k]) {
      i--;
    } else {
      b = i + 1 - k;
      break;
    }
  }
  long long se = max2[n - 1] - get(b, b + k - 1);
  for (long long i = 0; i < n; i++) {
    if (get(i, i + k - 1) == se) {
      cout << i + 1 << " ";
      cout << b + 1 << "\n";
      return 0;
    }
  }
  return 0;
}
