#include<bits/stdc++.h>
using namespace std;
const int N=5e4+10;
int d[N];
const int INF=0x3F3F3F3F;
int l,n,m;
int main()
{
cin>>l>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>d[i];
}
d[n+1]=l;
int ans=-INF;
for(int s=0;s<(1<<n);s++)
{
int cnt=0;
vector<int>lib;
lib.push_back(0);
for(int i=0;i<n;i++)
{
if(((s>>i)&1)==1)
{
lib.push_back(i+1);
}
else
{
cnt++;
}
}
lib.push_back(n+1);
if(cnt==m)
{
int res=+INF;
for(int i=1;i<lib.size();i++)
{
int u=lib[i],v=lib[i-1];
res=min(res,d[u]-d[v]);
}
ans=max(ans,res);
}
}
cout<<ans<<endl;
return 0;
}