#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<vector>
using namespace std;
int i,n,k,l,t,w,mid,bao,a[100010],f[100010];
bool pd(int x){
int ans=0;
for(i=1;i<=n+1;i++){
int h=a[i];
while(h>x) h-=x,ans++;
}
if(ans<=k) return true;
else return false;
}
int main(){
scanf("%d%d%d",&l,&n,&k);
for(i=1;i<=n;i++) scanf("%d",&a[i]),f[i]=a[i]-a[i-1];
a[n+1]=l-a[n];
t=0;w=1e8;
while(t<=w){
mid=(t+w)/2;
if(pd(mid)) w=mid-1,bao=mid;
else t=mid+1;
}
printf("%d",bao);
return 0;
}