#include <bits/stdc++.h>
using namespace std;
int a[2020];
int t[2020], tt[2020], nt;
int aa[2020], an;
bool ch[2020], in[2020];
bool cmp(int x, int y) { return a[x] < a[y]; }
void insertv(int num) {
  if (in[num]) return;
  in[num] = true;
  int x = a[num], now;
  an++;
  now = an - 1;
  while (now >= 1 && aa[now] > x) {
    aa[now + 1] = aa[now];
    now--;
  }
  aa[now + 1] = x;
}
int main() {
  int n, k, q;
  int ans = 2147483647;
  scanf("%d%d%d", &n, &k, &q);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  memset(ch, 0, sizeof(ch));
  memset(in, 0, sizeof(in));
  for (int i = 1; i <= n; i++) t[i] = i;
  sort(t + 1, t + 1 + n, cmp);
  an = 0;
  ch[0] = ch[n + 1] = false;
  for (int i = n; i >= 1; i--) {
    ch[t[i]] = true;
    nt = 0;
    for (int j = 1; j <= n + 1; j++) {
      if (ch[j])
        tt[++nt] = j;
      else {
        sort(tt + 1, tt + 1 + nt, cmp);
        for (int kk = 1; kk <= nt - k + 1; kk++) insertv(tt[kk]);
        nt = 0;
      }
    }
    if (an >= q) ans = min(ans, aa[q] - aa[1]);
  }
  printf("%d", ans);
  return 0;
}
