#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int distance[5];
for (int i = 0; i < n; i++) {
cin >> distance[i];
}
int dp[5];
int pre[5];
dp[0] = 0;
pre[0] = distance[0];
//dp[1] = distance[0];
//pre[1] = distance[0];
for (int i = 1; i < n; i++) {
pre[i] = pre[i - 1] + distance[i];
dp[i] = 0;
}
dp[1] = distance[0];
for (int i = 2; i < n; i++) {
for (int k = 1; k <= m; k++) {
if(i - 2*k < 0)
continue;
int temp = max(dp[i - 2 * k] + pre[i - k] - pre[i - 2 * k], dp[i - 1]);
dp[i] = max(temp, dp[i]);
}
}
cout << dp[n - 1] << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgbiwgbTsKCWNpbiA+PiBuID4+IG07CglpbnQgZGlzdGFuY2VbNV07Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCWNpbiA+PiBkaXN0YW5jZVtpXTsKCX0KCWludCBkcFs1XTsKCWludCBwcmVbNV07CglkcFswXSA9IDA7CglwcmVbMF0gPSBkaXN0YW5jZVswXTsKCS8vZHBbMV0gPSBkaXN0YW5jZVswXTsKCS8vcHJlWzFdID0gZGlzdGFuY2VbMF07Cglmb3IgKGludCBpID0gMTsgaSA8IG47IGkrKykgewoJCXByZVtpXSA9IHByZVtpIC0gMV0gKyBkaXN0YW5jZVtpXTsKCQlkcFtpXSA9IDA7Cgl9CglkcFsxXSA9IGRpc3RhbmNlWzBdOwoJZm9yIChpbnQgaSA9IDI7IGkgPCBuOyBpKyspIHsKCQlmb3IgKGludCBrID0gMTsgayA8PSBtOyBrKyspIHsKCQkJaWYoaSAtIDIqayA8IDApCgkJCQljb250aW51ZTsKCQkJaW50IHRlbXAgPSBtYXgoZHBbaSAtIDIgKiBrXSArIHByZVtpIC0ga10gLSBwcmVbaSAtIDIgKiBrXSwgZHBbaSAtIDFdKTsKCQkJZHBbaV0gPSBtYXgodGVtcCwgZHBbaV0pOwoJCX0KCX0KCWNvdXQgPDwgZHBbbiAtIDFdIDw8IGVuZGw7Cn0=