#include<stdio.h>
int kkzs(int a[],int l)
{
int r,max=-1145;
for(int i=0;i<l;i++)
{
if(a[i]!=0)
{
if(r>max)
max=r;
r=0;
}
else
r++;
}
return max;
}
int sol(int s[],int k,int l)
{
int min=1145141919;
if(k!=1)
{
for(int i=0;i<l;i++)
{
if(s[i]==2)
continue;
s[i]=1;
if(sol(s,k-1,l)<min)
min=sol(s,k-1,l);
s[i]=0;
}
return min;
}
else
{
for(int i=0;i<l;i++)
{
if(s[i]==2)
continue;
s[i]=1;
if(kkzs(s,l)<min)
min=kkzs(s,l);
s[i]=0;
}
return min;
}
}
int main()
{
int l,n,k;
int s[10000];
int lb;
int t[10000],kk=k,min=1145141919,m=0;
scanf("%d%d%d",&l,&n,&k);
for(int i=0;i<n;i++)
{
scanf("%d",&lb);
s[lb]=2;
}
printf("%d",sol(s,n,l));
}