#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define p 1000000007
void solve() {
int n, k;
cin >> n >> k;
vector<int> a(n);
for (int &i : a)
cin >> i;
vector<vector<vector<int>>> dp(n + 1, vector<vector<int>> (k + 1, vector<int> (2, 0)));
for (int i = n - 1 ; i >= 0 ; i--) {
for (int j = k ; j >= 0 ; j--) {
for (int r = 0 ; r < 2 ; r++) {
if (j + 1 <= k) dp[i][j][r] = max(dp[i][j][r], a[i] + dp[i + 1][j + 1][1]);
dp[i][j][r] = max(dp[i][j][r], dp[i + 1][j][0]);
if (r) dp[i][j][r] = max(dp[i][j][r], a[i] + dp[i + 1][j][1]);
}
}
}
cout << dp[0][0][0] << endl;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout << setprecision(10);
// int t;
// cin >> t;
// while (t--)
solve();
cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " secs" << endl;
}