#include<cstdio>#include<algorithm>#define maxn 50005usingnamespace std;int len, n, m, dis[maxn], org[maxn];intmain(){scanf("%d%d%d",&len,&n,&m);int pos, pre;for(int i =1; i <= n; i++){scanf("%d",&pos);
org[i]= dis[i]= pos - pre;
pre = pos;}
org[n +1]= dis[n +1]= len - pre;int l =1, r = len, ans =-1;while(l <= r){int mid =(l + r)>>1, avb = m;for(int i =1; i <= n; i++)if(dis[i]< mid) avb--, dis[i +1]+= dis[i];for(int i =1; i <= n +1; i++) dis[i]= org[i];if(avb >=0){
ans =max(ans, mid);
l = mid +1;}if(avb <0){
r = mid -1;}}printf("%d\n", ans);return0;}