#include <bits/stdc++.h>
using namespace std;
int N, K, Q;
int A[2020];
int mi = 1 << 30;
void solve() {
  int i, j, k, l, r, x, y;
  string s;
  cin >> N >> K >> Q;
  for (i = 0; i < (N); i++) cin >> A[i];
  for (i = 0; i < (N); i++) {
    vector<int> P;
    int len = 0;
    int pat = 0;
    multiset<int> M;
    for (j = 0; j < (N); j++) {
      if (A[j] < A[i])
        M.clear();
      else {
        M.insert(A[j]);
        if (M.size() >= K) {
          P.push_back(*M.begin());
          M.erase(*M.begin());
        }
      }
      if (len >= K) pat++;
    }
    if (P.size() < Q) continue;
    sort((P.begin()), (P.end()));
    mi = min(mi, P[Q - 1] - P[0]);
  }
  cout << mi << endl;
}
int main(int argc, char** argv) {
  string s;
  int i;
  if (argc == 1) ios::sync_with_stdio(false), cin.tie(0);
  for (i = 0; i < (argc - 1); i++) s += argv[i + 1], s += '\n';
  for (i = 0; i < (s.size()); i++) ungetc(s[s.size() - 1 - i], stdin);
  cout.tie(0);
  solve();
  return 0;
}
