#include <bits/stdc++.h>
using namespace std;
using namespace std;
long long ara[205];
long long dp[205][205][205];
int n, k, x;
long long rec(int pos, int last, int left) {
  if (last > k) return -1e17;
  if (pos == n + 1) {
    if (!left) return 0;
    return (-1e17);
  }
  if (left < 0) return -1e17;
  long long& ret = dp[pos][last][left];
  if (~ret) return ret;
  ret = -1e17;
  if (rec(pos + 1, 1, left - 1) >= 0)
    ret = max(ret, rec(pos + 1, 1, left - 1) + ara[pos]);
  if (rec(pos + 1, last + 1, left) >= 0)
    ret = max(ret, rec(pos + 1, last + 1, left));
  return ret;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  scanf("%d %d %d", &n, &k, &x);
  for (int i = 1; i <= n; i++) scanf("%lld", &ara[i]);
  memset(dp, -1, sizeof dp);
  printf("%lld\n", (rec(1, 1, x) <= 0 ? -1 : rec(1, 1, x)));
  return 0;
}
