#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const int INF = 1010000000;
const double EPS = 1e-10;
const array<pair<int, int>, 4> fd{make_pair(1, 0), make_pair(-1, 0),
                                  make_pair(0, 1), make_pair(0, -1)};
int main() {
  int n, k;
  cin >> n >> k;
  long long a[100000];
  for (int i = (0); i < (n); i++) cin >> a[i];
  long long s[100000];
  for (int i = (0); i < (100000); i++) s[i] = 0;
  for (int i = (0); i < (k); i++) s[0] += a[i];
  long long maxv = a[0], maxi = 0, minv = a[0], mini = 0;
  for (int i = (1); i < (n - k + 1); i++) {
    s[i] = s[i - 1] - a[i - 1] + a[i + k - 1];
    if (maxv < s[i]) {
      maxv = s[i];
      maxi = i;
    }
    if (minv > s[i]) {
      minv = s[i];
      mini = i;
    }
  }
  long long mans = maxv;
  if (maxv < 0) mans = 0;
  for (int i = (0); i < (n); i++) {
    if (a[i] > 0 && (i < maxi || maxi + k <= i)) {
      mans += a[i];
    }
  }
  long long minans = 0;
  for (int i = (0); i < (n); i++) {
    if (a[i] > 0 && (i < mini || mini + k <= i)) {
      minans += a[i];
    }
  }
  cout << max(mans, minans) << endl;
}
