#include<bits/stdc++.h>
using namespace std;
const int N=5e4+10;
long long d[N];
long long n,m,L;
bool check(long long mid){
int cnt=0;
long long last=0;
for(long long i=1;i<=n;i++){
if(d[i]-d[last]<mid){
cnt++;
}
else{
last=i;
}
}
if(cnt>m){
return false;
}
else{
return true;
}
}
int main(){
cin>>L>>n>>m;
for(long long i=1;i<=n;i++){
cin>>d[i];
}
d[0]=0,d[n+1]=L;
long long l=0,r=L,mid,ans;
while(l<=r){
mid=(r+l)/2;
if(check(mid)){
l=mid+1;
ans=mid;
}
else{
r=mid-1;
}
}
cout<<ans;
return 0;
}