#include <bits/stdc++.h>
using namespace std;
const int M = (int)1e9 + 7;
const int N = (int)2e5 + 5;
struct trio {
  long long a;
  long long b;
  long long c;
};
trio dp[2][N];
long long ps[N];
int main() {
  cout.precision(15);
  cout.setf(ios::fixed);
  int n, k;
  int i;
  cin >> n >> k;
  vector<int> v(n);
  for (i = 0; i < n; i++) {
    cin >> v[i];
    if (i == 0)
      ps[i] = v[i];
    else
      ps[i] = ps[i - 1] + v[i];
  }
  long long ma = 0, p1, p2;
  for (i = k - 1; i < n; i++) {
    dp[0][i].a = ps[i] - (i >= k ? ps[i - k] : 0);
    dp[0][i].b = i;
    if (i >= k)
      if (dp[0][i - 1].a >= dp[0][i].a) {
        dp[0][i].a = dp[0][i - 1].a;
        dp[0][i].b = dp[0][i - 1].b;
      }
    if (i >= (2 * k - 1)) {
      dp[1][i].a = dp[0][i - k].a + ps[i] - (i >= k ? ps[i - k] : 0);
      dp[1][i].b = dp[0][i - k].b;
    }
    if (dp[1][i].a > ma) {
      ma = dp[1][i].a;
      p1 = dp[1][i].b;
      p2 = i;
    }
  }
  cout << p1 + 2 - k << ' ' << p2 + 2 - k << '\n';
}
