//George and Job.cpp
#include <bits/stdc++.h>
#define LL long long
#define lson l, m, rt<<1
#define rson m+1, r, rt<<1|1
#define PI 3.1415926535897932626
#define CLEAR(name, init) memset(name, init, sizeof(name))
const double eps = 1e-8;
const int MAXN = 5000 + 5;
using namespace std;
LL dp[MAXN][MAXN], sum[MAXN] = {0};
int main(int argc, char const *argv[]) {
#ifndef ONLINE_JUDGE
freopen("D:\\Documents\\Programs\\Acm\\input.txt", "r", stdin);
#endif
LL n, m, k;
cin >> n >> m >> k;
for(int i = 1; i <= n; i++) {
int a; cin >> a;
sum[i] = sum[i-1] + a;
}
CLEAR(dp, 0);
dp[m][1] = sum[m];
for(int i = m+1; i <= n; i++) {
for(int j = 1; j <= i/m; j++) {
dp[i][j] = max(dp[i-m][j-1] + sum[i]-sum[i-m], dp[i-1][j]);
}
}
cout << dp[n][k] << endl;
return 0;
}