#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5,INF=0x3f3f3f3f;
typedef long long LL;
int L,n,k,ans,a[N],l,r;
bool check(int mid){
int sum=0;
for(int i=2;i<=n;i++)sum+=(a[i]-a[i-1]-1)/mid;
return sum<=k;
}
int main(){
cin>>L>>n>>k;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
r = L,a[++n] = L;
while(l<=r){
int mid=l+r>>1;
if(check(mid))ans = mid,r = mid-1;
else l = mid+1;
}
cout<<ans;
return 0;
}