#pragma GCC optimize("O3")
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <bits/stdc++.h>
#define mp make_pair
#define all(c) (c).begin() , (c).end()
#define sz(c) ((long long)((c).size()))
#define phb push_back
#define ppb pop_back
#define phf push_front
#define ppf pop_front
using namespace __gnu_pbds;
using namespace std;
#define int ll
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
template
<
class key,
class val = null_type,
class comp = less<key>
>
using ord_set = tree
<
key,
val,
comp,
rb_tree_tag,
tree_order_statistics_node_update
>;
const int N = 2e6 + 100;
int a[N];
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int n, k;
cin >> n >> k;
for (int i = 0; i < n; i++)
cin >> a[i];
int prev_best_sum = 0,
prev_best_ind = -1e9,
prev_sec_sum = 0;
for (int i = 0; i < (n + k - 1) / k; i++)
{
int cur_best_sum = prev_best_sum,
cur_best_ind = prev_best_ind,
cur_sec_sum = prev_sec_sum;
for (int j = i * k; j < (i + 1)*k; j++)
{
int sum = prev_sec_sum + a[j];
if (j - prev_best_ind != k)
sum = prev_best_sum + a[j];
if (sum > cur_best_sum)
cur_sec_sum = cur_best_sum,
cur_best_sum = sum,
cur_best_ind = j;
else if (sum > cur_sec_sum)
cur_sec_sum = sum;
}
prev_best_sum = cur_best_sum,
prev_best_ind = cur_best_ind,
prev_sec_sum = cur_sec_sum;
}
cout << prev_best_sum << "\n";
}
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk8zIikKI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIGFsbChjKSAoYykuYmVnaW4oKSAsIChjKS5lbmQoKQojZGVmaW5lIHN6KGMpICgobG9uZyBsb25nKSgoYykuc2l6ZSgpKSkKI2RlZmluZSBwaGIgcHVzaF9iYWNrCiNkZWZpbmUgcHBiIHBvcF9iYWNrCiNkZWZpbmUgcGhmIHB1c2hfZnJvbnQKI2RlZmluZSBwcGYgcG9wX2Zyb250Cgp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgaW50IGxsCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaWk7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsbDsKCnRlbXBsYXRlCjwKICAgICBjbGFzcyBrZXksCiAgICAgY2xhc3MgdmFsID0gbnVsbF90eXBlLAogICAgIGNsYXNzIGNvbXAgPSBsZXNzPGtleT4KICAgICA+CnVzaW5nIG9yZF9zZXQgPSB0cmVlCiAgICAgICAgICAgICAgICA8CiAgICAgICAgICAgICAgICBrZXksCiAgICAgICAgICAgICAgICB2YWwsCiAgICAgICAgICAgICAgICBjb21wLAogICAgICAgICAgICAgICAgcmJfdHJlZV90YWcsCiAgICAgICAgICAgICAgICB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGUKICAgICAgICAgICAgICAgID47Cgpjb25zdCBpbnQgTiA9IDJlNiArIDEwMDsKCmludCBhW05dOwoKc2lnbmVkIG1haW4oKQp7CiAgICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICAgY2luLnRpZShOVUxMKTsKICAgICBjb3V0LnRpZShOVUxMKTsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAgInIiLCAgc3RkaW4pOwogICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgogICAgIGludCBuLCBrOwogICAgIGNpbiA+PiBuID4+IGs7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgICBjaW4gPj4gYVtpXTsKICAgICBpbnQgcHJldl9iZXN0X3N1bSA9IDAsCiAgICAgICAgIHByZXZfYmVzdF9pbmQgPSAtMWU5LAogICAgICAgICBwcmV2X3NlY19zdW0gPSAwOwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKG4gKyBrIC0gMSkgLyBrOyBpKyspCiAgICAgewogICAgICAgICAgaW50IGN1cl9iZXN0X3N1bSA9IHByZXZfYmVzdF9zdW0sCiAgICAgICAgICAgICAgY3VyX2Jlc3RfaW5kID0gcHJldl9iZXN0X2luZCwKICAgICAgICAgICAgICBjdXJfc2VjX3N1bSA9IHByZXZfc2VjX3N1bTsKICAgICAgICAgIGZvciAoaW50IGogPSBpICogazsgaiA8IChpICsgMSkqazsgaisrKQogICAgICAgICAgewogICAgICAgICAgICAgICBpbnQgc3VtID0gcHJldl9zZWNfc3VtICsgYVtqXTsKICAgICAgICAgICAgICAgaWYgKGogLSBwcmV2X2Jlc3RfaW5kICE9IGspCiAgICAgICAgICAgICAgICAgICAgc3VtID0gcHJldl9iZXN0X3N1bSArIGFbal07CiAgICAgICAgICAgICAgIGlmIChzdW0gPiBjdXJfYmVzdF9zdW0pCiAgICAgICAgICAgICAgICAgICAgY3VyX3NlY19zdW0gPSBjdXJfYmVzdF9zdW0sCiAgICAgICAgICAgICAgICAgICAgY3VyX2Jlc3Rfc3VtID0gc3VtLAogICAgICAgICAgICAgICAgICAgIGN1cl9iZXN0X2luZCA9IGo7CiAgICAgICAgICAgICAgIGVsc2UgaWYgKHN1bSA+IGN1cl9zZWNfc3VtKQogICAgICAgICAgICAgICAgICAgIGN1cl9zZWNfc3VtID0gc3VtOwogICAgICAgICAgfQogICAgICAgICAgcHJldl9iZXN0X3N1bSA9IGN1cl9iZXN0X3N1bSwKICAgICAgICAgIHByZXZfYmVzdF9pbmQgPSBjdXJfYmVzdF9pbmQsCiAgICAgICAgICBwcmV2X3NlY19zdW0gPSBjdXJfc2VjX3N1bTsKICAgICB9CiAgICAgY291dCA8PCBwcmV2X2Jlc3Rfc3VtIDw8ICJcbiI7Cn0=