#include <bits/stdc++.h>

#define fi first
#define se second
#define sz(x) ((int)x.size())
using namespace std;
typedef long long lli;
typedef pair<int,int> pii;

const int inf=1e9;
int n,k,q,arr[2000];
pii a[2000];
int get(int val) {
	int mx=0;
	priority_queue<int,vector<int>,greater<int>> aq,qq;
	for(int i=0;i<n;i++) if(arr[i]>=val) {
		int j=i;
		while(!aq.empty()) aq.pop();
		for(;j<n && arr[j]>=val;j++) aq.push(arr[j]);
		
		int s=sz(aq)-k+1;
		while(s>0) {
			qq.push(aq.top()); aq.pop();
			s--;
		}
		i=j-1;
	}
	if(sz(qq)<q) return inf;
	for(int i=0;i<q;i++) {
		mx=qq.top(); qq.pop();
	}
	return mx-val;
}
int main() {
	scanf("%d%d%d",&n,&k,&q);
	for(int i=0;i<n;i++) {
		scanf("%d",arr+i);
		a[i].fi=arr[i]; a[i].se=i;
	}
	sort(a,a+n);
	
	int ans=inf;
	for(int i=0;i<n;i++) if(i==0 || a[i].fi!=a[i-1].fi)
		ans=min(ans,get(a[i].fi));

	printf("%d\n",ans);
	
	return 0;
}
