#include <bits/stdc++.h>
using namespace std;
long long pref[100050];
int stanje[100050];
bool bio[100050];
int niz[100050];
int n, k;
void input() {
  cin >> n >> k;
  int br;
  for (int i = 0; i < n; i++) {
    cin >> br;
    niz[i] = br;
  }
}
int main() {
  input();
  int ok = 0, koj = 1;
  for (int i = 0; i < n; i++) {
    if (ok == 1 && ((niz[i] < 0 && koj > 0) || (niz[i] > 0 && koj < 0))) ok = 0;
    if (ok == 0 && i < n - k + 1) {
      koj = 1;
      if (niz[i] < 0) koj *= -1;
      for (int j = i; j < i + k; j++) {
        if (koj < 0) {
          if (niz[j] > 0) {
            ok = 0;
            break;
          }
        } else {
          if (niz[j] < 0) {
            ok = 0;
            break;
          }
        }
        ok = 1;
      }
    }
    if (ok == 0)
      stanje[i] = 0;
    else if (ok == 1) {
      if (koj < 0)
        stanje[i] = 2;
      else
        stanje[i] = 1;
    }
  }
  for (int i = 0; i < n; i++) {
    if (stanje[i] == 0 || niz[i] >= 0) {
      if (i == 0)
        pref[i] = niz[i];
      else
        pref[i] = pref[i - 1] + niz[i];
    } else {
      if (i != 0) pref[i] = pref[i - 1];
    }
  }
  for (int i = 0; i < n; i++) {
    long long zbr = 0;
    if (i < n - k + 1) {
      if (i == 0)
        zbr = pref[k - 1];
      else
        zbr = pref[i + k - 1] - pref[i - 1];
      if (zbr >= 0) {
        for (int j = i; j < i + k; j++) {
          if (stanje[j] == 0) stanje[j] = 1;
        }
      }
    }
    if (i < n - k) {
      int zbr1, zbr2;
      if (i == 0)
        zbr1 = pref[k - 1];
      else
        zbr1 = pref[i + k - 1] - pref[i - 1];
      zbr2 = pref[i + k] - pref[i];
    }
    if (niz[i] >= 0 && (i - k >= 0 || i + k < n)) stanje[i] = 1;
  }
  for (int i = 0; i < n; i++) {
    if (niz[i] < 0 && stanje[i] == 1) {
      if (i - k + 1 >= 0) {
        int kol = 0;
        for (int j = i; j >= i - k + 1; j--)
          if (stanje[j] == stanje[i]) kol++;
        if (kol == k) stanje[i] = 2;
      }
      if (i + k - 1 < n && stanje[i] == 1) {
        int kol = 0;
        for (int j = i; j < i + k; j++)
          if (stanje[j] == stanje[i]) kol++;
        if (kol == k) stanje[i] = 2;
      }
    }
  }
  long long sol = 0;
  for (int i = 0; i < n; i++)
    if (stanje[i] == 1) sol += niz[i];
  cout << sol;
  return 0;
}
