`#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n,l,m;
int d[50005];
int mid,lef,righ;
int count;
int num(int x)
{
count=0;
for(int i=1;i<=n+1;i++)
{
int temp=d[i];
while(temp<x&&i<=n+1)
{
count++;i++;
temp+=d[i];
}
}
return count;
}
int main()
{
cin>>l>>n>>m;
int c[50005]={0};
for(int i=1;i<=n;i++)
{
cin>>c[i];
d[i]=c[i]-c[i-1];
}
d[n+1]=l-c[n];
lef=0;righ=l;mid=l;
while(num(mid)!=m)
{
mid=(righ+lef)/2;
if(num(mid)>m)
{
righ=mid;
}
if(num(mid)==m)
{
break;
}
if(num(mid)<m)
{
lef=mid;
}
}
cout<<mid;
return 0;
}