#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <cstdio>
#include <queue>
#include <map>
#include <iomanip>
using namespace std;
int l,n,m,a[50005];
int check(int x){
int ans=0,t=0;
for(int i=1;i<=n;i++){
while(a[i]-t<x&&i<=n) ans++,i++;
t=a[i];
}
return ans;
}
int main(){
cin>>l>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
a[++n]=l;
int l=1,r=l;
while(l<=r){
int mid=(l+r)>>1;
int q=check(mid);
if(q>m) r=mid-1;
else l=mid+1;
}
cout<<r;
return 0;
}