#include <bits/stdc++.h>

using namespace std;

const int INF = 1e9;

int n, k, q, a[2005];

int main(){
	scanf("%d%d%d", &n, &k, &q);
	
	for(int i = 0; i < n; i++)
	scanf("%d", &a[i]);
	
	int res = INF;
	
	for(int i = 0; i < n; i++){
		//fix smallest = a[i]
		
		vector <int> tmp, best;
		
		for(int j = 0; j < n; j++){
			if(a[j] >= a[i])
			tmp.push_back(a[j]);
			else{
				if((int)tmp.size() >= k){
					sort(tmp.begin(), tmp.end());
					for(int ii = 0; ii < (int)tmp.size() - k + 1; ii++)
					best.push_back(tmp[ii]);
				}
				tmp.clear();
			}
		}
		
		if((int)tmp.size() >= k){
			sort(tmp.begin(), tmp.end());
			for(int ii = 0; ii < (int)tmp.size() - k + 1; ii++)
			best.push_back(tmp[ii]);
		}
		tmp.clear();
		
		sort(best.begin(), best.end());
		
		if((int)best.size() >= q)
		res = min(res, best[q - 1] - a[i]);
	}
	
	printf("%d\n", res);
}
