rt
#include<bits/stdc++.h>
using namespace std;
#define int long long
int l,s,t,m,n,t1,t2,t3,gbs,minn=INT_MAX;
bool b[9100000],c[9100000];
int a[9100000],d[9100000];
signed main()
{
scanf("%lld",&l);
scanf("%lld%lld%lld",&s,&t,&m);
gbs=s*t/__gcd(s,t);
for(int i=1;i<=m;++i)scanf("%lld",&d[i]);
sort(d+1,d+1+m);
for(int i=1;i<=m;++i)
{
t2=d[i];
t3=t2;
if(t1-t2>gbs)t2=t1+gbs;
b[t2]=1;
t1=t2;
}
l=t2+(l-t3);
for(int i=s;i<=l;++i)
{
if(a[i]==0)a[i]=b[i];
for(int j=s;j<=t;++j)
{
if(!c[i+j])
{
a[i+j]=a[i]+b[i+j];
c[i+j]=1;
}
else a[i+j]=min(a[i+j],a[i]+b[i+j]);
}
}
for(int i=l;i<=l+t;++i)
{
if(c[i])minn=min(a[i],minn);
}
printf("%lld",minn);
return 0;
}