#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define p 1000000007
int f(int i, int cnt, int running, int n, int k, vector<int> &a, vector<vector<vector<int>>> &dp) {
if (i == n) return 0;
if (dp[i][cnt][running] != -1) return dp[i][cnt][running];
int res = 0;
if (cnt < k) {
res = max(res, a[i] + f(i + 1, cnt + 1, 1, n, k, a, dp));
}
res = max(res, f(i + 1, cnt, 0, n, k, a, dp));
if (running) res = max(res, a[i] + f(i + 1, cnt, 1, n, k, a, dp));
return dp[i][cnt][running] = res;
}
void solve() {
int n, k;
cin >> n >> k;
vector<int> a(n);
for (int &i : a)
cin >> i;
vector<vector<vector<int>>> dp(n, vector<vector<int>> (k + 1, vector<int> (2, -1)));
cout << f(0, 0, 0, n, k, a, dp) << 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;
}