#include <bits/stdc++.h>
using namespace std;
long long n, k, ans = 0, a, b;
vector<long long> v, sum, sumk;
vector<pair<long long, long long> > maxsumk, maxsum2k;
int main() {
  cin >> n >> k;
  v.resize(n);
  for (int i = 0; i < n; i++) cin >> v[i];
  sum.resize(n);
  sumk.resize(n);
  sum[0] = v[0];
  for (int i = 1; i < n; i++) sum[i] = sum[i - 1] + v[i];
  sumk[k - 1] = sum[k - 1];
  for (int i = k; i < n; i++) sumk[i] = sum[i] - sum[i - k];
  maxsumk.resize(n, {0, 0});
  maxsumk[k - 1].first = sumk[k - 1];
  maxsumk[k - 1].second = k - 1;
  for (int i = k; i < n; i++) {
    maxsumk[i].first = max(maxsumk[i - 1].first, sumk[i]);
    if (max(maxsumk[i - 1].first, sumk[i]) == maxsumk[i - 1].first)
      maxsumk[i].second = maxsumk[i - 1].second;
    else
      maxsumk[i].second = i;
  }
  maxsum2k.resize(n, {0, 0});
  maxsum2k[2 * k - 1].first = sumk[2 * k - 1] + maxsumk[2 * k - 1 - k].first;
  maxsum2k[2 * k - 1].second = 2 * k - 1;
  for (int i = 2 * k; i < n; i++) {
    maxsum2k[i].first =
        max(sumk[i] + maxsumk[i - k].first, maxsum2k[i - 1].first);
    if (max(sumk[i] + maxsumk[i - k].first, maxsum2k[i - 1].first) ==
        maxsum2k[i - 1].first)
      maxsum2k[i].second = maxsum2k[i - 1].second;
    else
      maxsum2k[i].second = i;
  }
  int v = maxsum2k[n - 1].second;
  b = v - k + 2;
  a = maxsumk[v - k].second - k + 2;
  cout << a << " " << b;
}
