#include <iostream>
#include <climits>
#include <stack>
#include <queue>
#include <string>
#include <set>
#include <map>
#include <math.h>
#include <algorithm>
#include <vector>
 
using namespace std;
 
typedef long long ll;
 
typedef pair<ll,ll> P;
long long int INF = 1e18;
double Pi = 3.141592653589;
const int mod = 1000000007;
// memset(a,0,sizeof(a)); →全部０にする
 
vector<int> G[100005];
std::vector<P> tree[100010];
 
int dx[8]={1,0,-1,0,1,1,-1,-1};
int dy[8]={0,1,0,-1,1,-1,-1,1};
 
#define p(x) cout<<x<<endl;
#define el cout<<endl;
#define pe(x) cout<<x<<" ";
#define re(i,a,b) for(i=a;i<=b;i++)
 
ll i,j,k,l,ii,jj;
ll n,m,q;
ll a[300005],b[300005];
ll x,y,look,ans=0,num;
bool flag;
char s[300005];
ll e,w,ee,ww;

bool xor(ll x,ll y){
	bool xxx=true;
	for(j=20;j>=0;j--){
		if((x & 1<<j) && (y & 1<<j)){
			xxx=false;
		}
	}
	return xxx;
}



int main(){
	cin>>n>>k>>q;
	for(i=0;i<n;i++){
		cin>>a[i];
	}
	sort(a,a+n);
	p(a[q-1]-a[0]);
}