#include<bits/stdc++.h>
using namespace std;
#define int long long
const int M=5e5+5;
int n,m,p,q;
int a[M];
signed main() {
scanf("%lld%lld%lld%lld",&n,&m,&p,&q);
for(int i=1; i<=n; i++)scanf("%lld",&a[i]);
int day=0;
int time=0;
int i=1;
double every=m-p*1.0/q*m;
for(;;) {
day++;
int s=m;
bool pd=false;
while(time+s-a[i]>=ceil(day*p*1.0/q*m)) {
s-=a[i];
if(s<=0) {
s+=a[i];
pd=true;
break;
}
i++;
pd=true;
if(i>n)break;
}
int rest=m-a[i];
int xj=(m*p*1.0/q*day-time-m+a[i])/every;
if(xj>=1) {
time+=s+(xj-1)*m;
day+=xj-1;
} else time+=s;
if(i>n)break;
}
printf("%lld",day);
return 0;
}