#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int distance[n];
for (int i = 0; i < n; i++) {
cin >> distance[i];
}
int dp[n];
int pre[n];
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];
}
for (int i = 2; i < n; i++) {
for (int k = 1; k <= m; k++) {
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+IG07CglpbnQgZGlzdGFuY2Vbbl07Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCWNpbiA+PiBkaXN0YW5jZVtpXTsKCX0KCWludCBkcFtuXTsKCWludCBwcmVbbl07CglkcFswXSA9IDA7CglwcmVbMF0gPSBkaXN0YW5jZVswXTsKCWRwWzFdID0gZGlzdGFuY2VbMF07CgkvL3ByZVsxXSA9IGRpc3RhbmNlWzBdOwoJZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKCQlwcmVbaV0gPSBwcmVbaSAtIDFdICsgZGlzdGFuY2VbaV07Cgl9Cglmb3IgKGludCBpID0gMjsgaSA8IG47IGkrKykgewoJCWZvciAoaW50IGsgPSAxOyBrIDw9IG07IGsrKykgewoJCQlpbnQgdGVtcCA9IG1heChkcFtpIC0gMiAqIGtdICsgcHJlW2kgLSBrXSAtIHByZVtpIC0gMiAqIGtdLCBkcFtpIC0gMV0pOwoJCQlkcFtpXSA9IG1heCh0ZW1wLCBkcFtpXSk7CgkJfQoJfQoJY291dCA8PCBkcFtuIC0gMV0gPDwgZW5kbDsKfQ==