#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
const int maxn=2e3+10;
int n,k,q,x[maxn],ans=2e9;
bool vis[maxn];
pair<int,int> a[maxn];

inline int chk(){
	vector<int> vec;
	for(int i=1;i<=n;){
		while(i<=n&&vis[i])
			++i;
		vector<int> tmp;
		while(i<=n&&!vis[i]){
			tmp.push_back(x[i]);
			++i;
		}
		sort(tmp.begin(),tmp.end());
		for(int j=0;j+k-1<tmp.size();++j)
			vec.push_back(tmp[j]);
	}
	sort(vec.begin(),vec.end());
	return vec.size()>=q?vec[q-1]:2e9;
}

int main(){
	cin>>n>>k>>q;
	for(int i=1;i<=n;++i){
		cin>>x[i];
		a[i]=make_pair(x[i],i);
	}
	sort(a+1,a+n+1);
	ans=min(ans,chk()-a[1].first);
	for(int i=1;i<n;++i){
		vis[a[i].second]=true;
		ans=min(ans,chk()-a[i+1].first);
	}
	cout<<ans<<endl;
	return 0;
}