#include<cstdio>
#include<algorithm>
#include<cmath>
#define int long long
#define eps 1e-7
using namespace std;
const int maxn=1e5+10;
int n,x,p,q,a[maxn],sum,ans;
int gcd(int xx,int yy){
if(!yy) return xx;
return gcd(yy,xx%yy);
}
signed main(){
scanf("%lld%lld%lld%lld",&n,&x,&p,&q);
for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
int now=1,g=gcd(p,q);
p/=g,q/=g;
long double r=1.0*p/q;
while(now<=n){
ans++;
int t=x;
int sleep=max((long double)1ll*1.0,ceil(1.0*(1.0*x*ans*r)-1.0*sum));
if(x-sleep>=a[now]){
sum+=sleep;
t-=sleep;
while(t>=a[now]&&now<=n) t-=a[now],now++;
sum+=t;
}
else{
int tmp=0;
long double delta=1.0*(1.0-r)*x;
int day=ceil(1.0*(a[now]-(x-sleep))/delta);
ans+=day-1,sum+=(day-1)*x;
int slp=max((long double)1ll*1.0,ceil(1.0*(1.0*x*ans*r)-1.0*sum));
sum+=slp,tmp+=slp;
t-=slp;
while(t>=a[now]&&now<=n) t-=a[now],now++;
sum+=t,tmp+=t;
}
}
printf("%lld",ans);
return 0;
}