#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k, q;
  cin >> n >> k >> q;
  vector<int> a(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  int x = 0;
  int y = 1e9;
  for (int i = 0; i < q; i++) {
    multiset<int> s;
    for (int j = 0; j < k; j++) {
      s.insert(a[j]);
    }
    int mini = *s.begin();
    for (int j = k; j < a.size(); j++) {
      s.insert(a[j]);
      s.erase(s.find(a[j - k]));
      mini = min(mini, *s.begin());
    }
    a.erase(find(a.begin(), a.end(), mini));
    x = max(mini, x);
    y = min(mini, y);
  }
  cout << x - y << endl;
  return 0;
}
