#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
const int N=50005;
int a[N],ne[N];
bool check(int x){
for(int i=n;i>=1;i--) ne[i]=a[i-1];
int sum=0;
for(int i=2;i<=n;i++) if(a[i]-ne[i]<x) ne[i+1]=ne[i],sum++;
return sum>m;
}
signed main()
{
int d;
scanf("%lld%lld%lld",&d,&n,&m);
for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
a[++n]=0,a[++n]=d;
sort(a+1,a+n+1);
int l=1,r=1e9;
while(l<r){
int mid=l+r>>1;
if(check(mid)) r=mid;
else l=mid+1;
}
printf("%lld",l-1);//就是这里
return 0;
}