var
a:array[-10..10000000] of integer;
l,m,min:integer;
s,t,j,i:integer;
x:longint;
h,hh:array[0..100] of longint;
begin
fillchar(a,sizeof(a),0);
fillchar(h,sizeof(h),0);
readln(l);
readln(s,t,m);
for i:=1 to m do
read(h[i]);
for i:=1 to m do
for j:= i+1 to m do
if h[j]<h[i] then
begin
x:=h[j];
h[j]:=h[i];
h[i]:=x;
end;
if s=t then
begin
for i:=1 to m do
if h[i] mod s =0 then inc(min);
writeln(min);
halt;
end;
for i:=1 to m do
if h[i]-h[i-1]>=100 then hh[i]:=hh[i-1]+100
else hh[i]:=hh[i-1]+h[i]-h[i-1];
for i:=1 to m do
a[hh[i]]:=1;
for i:=s to hh[m]+t do
begin
min:=maxint;
for j:=s to t do
if i-j>=s then
if a[i-j]<min then min:=a[i-j];
if min<maxint then a[i]:=a[i]+min;
end;
min:=maxint;
for i:=-t to t do
if a[hh[m]+i]<min then min:=a[hh[m]+i];
writeln(min);
end.