#include<bits/stdc++.h>
using namespace std;
long long L,M,N;
long long arr[50100];
void operate(){
int m=0;int n=1;
for(int i=0;i<=N;i++){
if(arr[i+1]-arr[i]<arr[n]-arr[m]){
m=i;
n=i+1;
}
}
if(m!=0&&n!=N+1){
if(arr[m]-arr[m-1]>=arr[n+1]-arr[n]){
for(int i=n;i<=N;i++){
arr[i]=arr[i+1];
}
}else{
for(int i=m;i<=N;i++){
arr[i]=arr[i+1];
}
}
}else if(m==0){
for(int i=m;i<=N;i++){
arr[i]=arr[i+1];
}
}
N--;
}
int main(){
cin>>L>>N>>M;
arr[0]=0;
for(int i=1;i<=N;i++){
cin>>arr[i];
}
arr[N+1]=L;
for(int i=0;i<M;i++){
operate();
}
long long moo=arr[1]-arr[0];
for(int i=0;i<=N;i++){
if(moo>=arr[i+1]-arr[i]){
moo=arr[i+1]-arr[i];
}}
cout<<moo;
return 0;
}