#include<bits/stdc++.h>
using namespace std;
int l,n,m,a[50020];
bool panduan(int x){
int cnt=0,f=a[0];
for(int i=1;i<=n;i++){
if(a[i]-f<x){
cnt++;
}
else
f=a[i];
}
if(cnt>m) return false;
else return true;
}
int main(){
cin>>l>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
int left=1,right=l,mid,ans;
while(left<=right){
mid=(left+right)/2;
if(panduan(mid)){
left=mid+1;
ans=mid;
}
else
right=mid-1;
}
cout<<ans;
}