#include<bits/stdc++.h>
using namespace std;
int l,n,m;
int a[50005],b[50005];
int ans;
bool judge(int x)
{
int flag=0;
int i=0;
int now=0;
while(i<n+1)
{
i++;
if(a[i]-a[now]<x)flag++;
else now=i;
}
if(flag>m)return false;
else return true;
}
int main()
{
cin>>l>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
b[i]=a[i]-a[i-1];
}
int L=1,R=l,mid;
while(L<=R)
{
mid=(L+R)/2;
if(judge(mid))
{
ans=mid;
L=mid+1;
}
else R=mid-1;
}
cout<<ans;
}