import java.util.Arrays;
import java.util.Scanner;
public class Main{
static int N = 50010;
static int arr[] = new int[N];
static int d,n,m,l,r,ans;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
d = sc.nextInt();
n = sc.nextInt();
m = sc.nextInt();
for(int i = 0;i < n;i++) arr[i] = sc.nextInt();
l = 0;r = d;
while(l <= r){
int mid = l + (r - l) / 2;
if(check(mid)){
l = mid + 1;
ans = mid;
}
else r = mid - 1;
}
System.out.println(ans);
}
public static boolean check(int num){
int count = 0;
int temp = 0;
int i = 0;
while(i < n){
i++;
if(arr[i] - arr[temp] < num){
count++;
}
else temp = i;
}
if(count > m) return false;
return true;
}
}