#include<bits/stdc++.h>
#define ll long long
using namespace std;
int L,l,n,m,d[51000];
int bnum(int mid){
int end=1,start=0,add=0;
while(true){
if(end>n)return add;
if(d[end]-d[start]<mid){
end++;add++;
}
else {
start=end;
end++;
}
}
}
int main(){
ios::sync_with_stdio(false);
cin>>L>>n>>m;
if(n==0){
cout<<L;
return 0;
}
for(int i=1;i<=n;i++){
cin>>d[i];
} d[n+1]=L;
if(m==0){
int min=1000000008;
for(int i=1;i<=n+1;i++){
min=(d[i]-d[i-1]<min)?d[i]-d[i-1]:min;
}
cout<<min;
return 0;
}
int l=0,r=L;
while(true){
int now;
int mid=(l+r)>>1;
now=bnum(mid);
if(now>m){
r=mid-1;
}
else if(now<m){
l=mid+1;
}
else {
while(bnum(mid+1)==now)mid++;
cout<<mid;
return 0;
}
}
return 0;
}