#include<bits/stdc++.h>
using namespace std;
int l,n,m,a[10000007];
bool panduan(int x){
int f=a[1],cnt;
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];
a[i]=a[i]+1;
}
int left=1,right=l,mid,ans;
while(left<=right){
mid=(left+right)/2;
if(panduan(mid)){
ans=mid;
left=mid+1;
}
else
right=mid-1;
}
cout<<ans;
}