#include <bits/stdc++.h>
using namespace std;
int a[100000];
int main() {
  long long n, k, ans = 0;
  bool zero = false;
  cin >> n >> k;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
  }
  for (int i = 0; i < n - k; ++i) {
    if (a[i] > 0) {
      ans += a[i];
      zero = true;
    }
  }
  int av = 0;
  for (int i = n - k - 1; i >= n - 2 * k && i >= 0; --i) {
    if (a[i] <= 0) {
      ++av;
    } else {
      break;
    }
  }
  long long tmp = 0, mx = 0;
  bool f = true;
  for (int i = n - k; i < n; ++i) {
    tmp += a[i];
    if (a[i] > 0) f = false;
    if (f && av && a[i] < 0) {
      tmp += abs(a[i]);
    }
    mx = max(mx, tmp);
  }
  long long mm = 0;
  if (ans == 0 && mx == 0 && zero) {
    for (int i = 0; i < n - k + 1; ++i) {
      long long dd = 0;
      for (int j = i; j < k + i; ++j) {
        dd += a[j];
      }
      if (mm == 0) {
        mm = dd;
      } else {
        mm = max(dd, mm);
      }
    }
  }
  cout << ans + mx + mm << endl;
  return 0;
}
