#include <iostream>
#include <algorithm>
using namespace std;
int L,M,N,a[50010];
bool aaa(int b)
{
int cnt=0,pos=0;
for (int i = 0; i < N; i++)
{
if (a[i-pos<b])cnt++;
else pos=a[i];
}
if(L-pos<b)cnt++;
return cnt <= M;
}
int main()
{
cin >> L>> N>> M;
for (int i = 0; i < N; i++)
{
cin >>a[i];
}
int l=1,r=L,ans=-1;
while (l<r)
{
int mid = (l+r)>>1;
if (aaa(mid)) l=mid+1,ans=mid;
else r=mid-1;
}
cout << ans;
return 0;
}