#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=50010;
int noip;
int l,n,m;
int a[N],cha[N],minn[N]={LLONG_MAX},new_a[N];
void ap(){
cin>>l>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=2;i<=n-1;i++){
cha[i]=a[i]-a[i-1];
}
for(int i=1;i<=m;i++){
for(int j=2;i<=n-1;i++){
minn[j]=min(minn[j],cha[j]);
a[j]=-1;
cha[j]=LLONG_MAX;
}
}
for(int i=1;i<=n;){
if(a[i]==-1)continue;
new_a[i]=a[i];
i++;
}
int new_cha[N];
for(int i=2;i<=n-1;i++){
new_cha[i]=a[i]-a[i-1];
}
int maxx=LLONG_MIN;
for(int i=2;i<=n-1;i++){
maxx=max(maxx,new_cha[i]);
}
cout<<maxx;
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
noip=1;
while(noip--){
ap();
}
return 0;
}