#include<bits/stdc++.h>
using namespace std;
int l,s,t,m,stone[101],f[100005],a[100005],ans;
void qwq(){
for(int i=1;i<=m;i++)
if(stone[i]%s==0)
ans++;
cout<<ans<<endl;
}
void awa(){
for (int i=1;i<=m;i++){
int dis=stone[i]-stone[i-1];
stone[i]=stone[i-1]+dis%90;
}
l=(l-stone[m])%90+stone[m];
for (int i=1;i<=m;i++)
a[stone[i]]=1;
}
void dp(){
memset(f,0x7f,sizeof(f));
f[0]=0;
for (int i=s;i<=l+t;i++)
for (int j=s;j<=t;j++)
if (i>=j)
f[i]=min(f[i],f[i-j]+a[i]);
ans=0x7f;
for(int i=l;i<=l+t;i++)
if(f[i]<ans)
ans=f[i];
cout<<ans<<endl;
}
int main(){
ios::sync_with_stdio(false);
memset(a,0,sizeof(a));
cin>>l>>s>>t>>m;
for (int i=1;i<=m;i++)
cin>>stone[i];
sort(stone+1,stone+m+1);
if(s==t){
qwq();
return 0;
}
awa();
dp();
return 0;
}