#include <bits/stdc++.h>
using namespace std;
long long fast_power(long long x, long long y) {
  long long res = 1;
  while (y > 0) {
    if (y & 1) res = res * x;
    y = y >> 1;
    x = x * x;
  }
  return res;
}
long long fast_gcd(long long a, long long b) {
  while (b) {
    auto temp = b;
    b = a % b;
    a = temp;
  }
  return a;
}
long long n, k, x;
long long b[300];
long long mem[201][202][201];
long long solve(long long pos, long long last, long long cnt) {
  if (pos == n) {
    if (cnt == x)
      return 0;
    else
      return -1e18;
  }
  long long &ret = mem[pos][last][cnt];
  if (~ret) return ret;
  long long take = -1e18, leave = -1e18;
  take = solve(pos + 1, pos, cnt + 1) + b[pos];
  if ((last == 201 && pos < k - 1) || (last != 201 && last >= pos - k + 1)) {
    leave = solve(pos + 1, last, cnt);
  }
  return ret = max(take, leave);
}
int32_t main() {
  cin >> n >> k >> x;
  for (long long i = 0; i < n; i++) cin >> b[i];
  memset(mem, -1, sizeof(mem));
  long long ans = solve(0, 201, 0);
  cout << (ans <= 0 ? -1 : ans);
  return 0;
}
