#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e3 + 10;
long long a[maxn], pre[maxn];
long long dp[maxn][maxn];
int main() {
  int n, m, k;
  while (~scanf("%d%d%d", &n, &m, &k)) {
    for (int i = 1; i < n + 1; i++) {
      scanf("%lld", &a[i]);
      pre[i] = pre[i - 1] + a[i];
    }
    for (int i = 1; i <= n; ++i)
      for (int j = 1; j <= i / m; ++j)
        dp[i][j] = max(dp[i - 1][j], dp[i - m][j - 1] + pre[i] - pre[i - m]);
    cout << dp[n][k] << endl;
  }
  return 0;
}
