#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const long long longinf = 1LL << 60;
const long long mod = 1e9 + 7;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int N, K, Q;
  cin >> N >> K >> Q;
  vector<long long> A(N);
  for (int i = (int)(0); i < (int)(N); i++) cin >> A[i];
  long long ans = longinf;
  for (int i = (int)(0); i < (int)(N); i++) {
    long long X = A[i];
    vector<long long> Y;
    multiset<long long> tmp;
    for (int j = (int)(0); j < (int)(N); j++) {
      if (A[j] < X) {
        if ((int)tmp.size() >= K) {
          auto itr = tmp.begin();
          for (int k = (int)(0); k < (int)(tmp.size() - K + 1); k++) {
            Y.push_back(*itr);
            itr++;
          }
          tmp.clear();
        }
      } else {
        tmp.insert(A[j]);
      }
    }
    auto itr = tmp.begin();
    for (int k = (int)(0); k < (int)(tmp.size() - K + 1); k++) {
      Y.push_back(*itr);
      itr++;
    }
    sort(Y.begin(), Y.end());
    if ((int)Y.size() >= Q) {
      ans = min(Y[Q - 1] - Y[0], ans);
    }
  }
  cout << ans << endl;
  return 0;
}
