#include <bits/stdc++.h>
using namespace std;
const long long maxN = 5e3 + 5, MOD = 998244353, INF = 1e14 + 1;
long long n, k, x, A[maxN];
long long dp[maxN][maxN];
long long solve(int ind, int rem) {
  if (ind >= n) {
    return 0;
  }
  long long &res = dp[ind][rem];
  if (res != -1) {
    return res;
  }
  if (rem == 0 && ind + k - 1 < n) {
    res = -INF;
    return res;
  }
  if (rem == 0) {
    res = 0;
    return res;
  }
  for (int i = int(0); i < int(k); i++) {
    res = max(res, A[ind + i] + solve(ind + i + 1, rem - 1));
  }
  if (res < 0) {
    res = -INF;
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  cin >> n >> k >> x;
  for (int i = int(0); i < int(n); i++) {
    cin >> A[i];
  }
  if (n > (k - 1) * (x + 1) + x) {
    cout << -1 << '\n';
    return 0;
  }
  memset(dp, -1, sizeof dp);
  long long ans = solve(0, x);
  cout << ans << '\n';
  return 0;
}
