#include <bits/stdc++.h>
using namespace std;
template <typename T1, typename T2>
ostream& operator<<(ostream& os, pair<T1, T2> p) {
  cout << "(" << p.first << ", " << p.second << ")";
  return os;
}
template <typename T>
ostream& operator<<(ostream& os, vector<T>& vec) {
  os << "{";
  for (int i = 0; i < vec.size(); i++)
    os << vec[i] << (i + 1 == vec.size() ? "" : ", ");
  os << "}";
  return os;
}
template <typename T>
ostream& operator<<(ostream& os, set<T>& st) {
  for (auto itr = st.begin(); itr != st.end(); itr++)
    cout << *itr << (next(itr) != st.end() ? ", " : "");
  cout << "}";
  return os;
}
template <typename T1, typename T2>
ostream& operator<<(ostream& os, map<T1, T2> mp) {
  cout << "{";
  for (auto itr = mp.begin(); itr != mp.end(); itr++)
    cout << "(" << (itr->first) << ", " << (itr->second) << ")"
         << (next(itr) != mp.end() ? "," : "");
  cout << "}";
  return os;
}
void dump_func() { cout << endl; }
template <class Head, class... Tail>
void dump_func(Head&& head, Tail&&... tail) {
  cout << head;
  if (sizeof...(Tail) == 0) {
    cout << " ";
  } else {
    cout << ", ";
  }
  dump_func(std::move(tail)...);
}
template <class T>
inline void chmax(T& a, T const& b) {
  a = max(a, b);
}
template <class T>
inline void chmin(T& a, T const& b) {
  a = min(a, b);
}
using ll = long long;
using P = pair<int, int>;
using Pl = pair<ll, ll>;
using vi = vector<int>;
using vvi = vector<vi>;
using vl = vector<ll>;
using vvl = vector<vl>;
const int mod = 1e9 + 7, INF = 1 << 30;
const double EPS = 1e-12, PI = 3.1415926535897932384626;
const ll lmod = 1e9 + 7, LINF = 1LL << 60;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int N, K, Q;
  cin >> N >> K >> Q;
  vl a(N);
  for (int i = 0; i < N; i++) cin >> a[i];
  ll ans = LINF;
  for (int i = 0; i < N; i++) {
    vl s, x;
    for (int j = 0; j < N; j++) {
      if (a[j] < a[i]) {
        if (s.size() >= K) {
          sort((s).begin(), (s).end());
          for (int k = 0; k < s.size() - K; k++) x.push_back(a[k]);
        }
        s.clear();
      } else {
        s.push_back(a[j]);
      }
    }
    sort((x).begin(), (x).end());
    if (x.size() >= Q) chmin(ans, x[Q - 1] - x[0]);
  }
  sort((a).begin(), (a).end());
  chmin(ans, a[Q - 1] - a[0]);
  cout << ans << endl;
  return 0;
}
