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