#include<bits/stdc++.h>
//#include<windows.h>
//#include<conio.h>
using namespace std;
int len,n,m;
int a[50001];
int ans;
bool check(int x){
int sum=0;
int cur=0;
for(int i=1;i<=n+1;i++){
if(a[i]-a[cur]<x){
sum++;
}else{
cur=i;
}
}
return sum<=m;
}
void bsf(int maxn){
int l=0,r=maxn;
int mid;
while(l<=r){
mid=(l+r)>>1;
if(check(mid)){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
}
int main(){
cin>>len>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
a[n+1]=len;
bsf(len+1);
cout<<ans;
return 0;
}