#include <bits/stdc++.h>
using namespace std;
int l,m,n, a[50005], cha[50005];
bool pd(int x) {
long long num = x*(n-m+1);
int mm = m;
if(num > l) return false;
else{
int chb = cha[1];
for(int i = 1; i <= n+1; i++) {
if(chb < x) {
if(mm == 0) return false;
chb += cha[i+1];i++;mm--;
if(chb >= x) chb = cha[i+1];
}
}
return true;
}
}
int main() {
scanf("%d%d%d", &l, &n, &m);
int ll = 1, r = l, mid = (ll+r+1)/2;
for(int i = 1; i <= n+1; i++) {
if(i == n+1) {
cha[i] = l-a[i-1];continue;
}
scanf("%d", &a[i]);
if(i == 1) cha[i] = a[i];
else if(i <= n) cha[i] = a[i]-a[i-1];
}
while(ll < r) {
if(pd(mid)) {ll = mid;mid = (ll+r+1)/2;}
else {r = mid-1; mid = (ll+r+1)/2;}
}
printf("%d", ll);
return 0;
}