#include<bits/stdc++.h>
using namespace std;
int L,i,j,k,m,n,l,r,mid,a[50005],b[50005];
int work(int mi)
{
k=0;
for(j=0;j<=n;j++)
b[j]=a[j];
for(j=1;j<=n;j++)
{
if(b[j]-b[j-1]<mi)
{
b[j]=b[j-1];
k++;
}
if(k>m)
return k;
}
return k;
}
int main()
{
cin>>L>>n>>m;
for(i=1;i<=n;i++)
cin>>a[i];
n++;
r=a[n]=L;
while(l+1<r)
{
mid=(l+r)/2;
if(work(mid)>m)
r=mid;
else
l=mid;
}
cout<<l;
return 0;
}