#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll D,d[50010],n,m,inter[50010],st,ed,mid;
ll sor[50010],jis;
ll ans;
int main()
{
scanf("%lld%lld%lld",&D,&n,&m);
ans=D;
if(n==0)
{
printf("%lld",ans);
return 0;
}
for(int i=1;i<=n;i++)
{
scanf("%lld",&d[i]);
inter[i]=d[i]-d[i-1];
sor[i]=inter[i];
}
sor[n+1]=inter[n+1]=D-d[n];
sort(sor+1,sor+n+1);
st=sor[1];ed=sor[n];
int jump,j;
while(1)
{
jis=0;
mid=(st+ed)/2;
if(mid==ans) break;
for(int i=1;i<=n+1;i++)
{
jump=inter[i];j=i;
while(mid>jump&&j<=n){
jis++;
j++;
jump+=inter[j];
}
i=j;
}
if(jis>m)
{
ed=mid;
}
else{
ans=mid;
st=mid;
}
}
printf("%lld",ans);
}