#include <stdio.h>
int main(void) {
int n,w1,w2,h1,h2;
scanf("%d%d%d%d%d",&n
,&w1
,&w2
,&h1
,&h2
); int v1,v2;
v1=w1*w1;
v2=w2*w2;
int water;
int result=0;
int Max=0;
int start=0,end=0;
for(int i=0;i<n;i++){
if(start<h1){ //底層
end=start+water/v1;
if(end>h1){
end=h1+(water-(h1-start)*v1)/v2;
end=(end>h1+h2)?(h1+h2):end;
result=end-start;
}
else
result=end-start;
}
else{ //上層
end=start+water/v2;
result=(end>h1+h2)?(h1+h2-start):(end-start);
}
start=end;
Max=(result>Max)?result:Max;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CglpbnQgbix3MSx3MixoMSxoMjsKCXNjYW5mKCIlZCVkJWQlZCVkIiwmbiwmdzEsJncyLCZoMSwmaDIpOwoJaW50IHYxLHYyOwoJdjE9dzEqdzE7Cgl2Mj13Mip3MjsKCQoJaW50IHdhdGVyOwoJaW50IHJlc3VsdD0wOwoJaW50IE1heD0wOwoJaW50IHN0YXJ0PTAsZW5kPTA7Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQlzY2FuZigiJWQiLCZ3YXRlcik7CgkJaWYoc3RhcnQ8aDEpeyAgICAgICAgICAgICAgICAvL+W6leWxpAoJCQllbmQ9c3RhcnQrd2F0ZXIvdjE7CQoJCQlpZihlbmQ+aDEpewoJCQkJZW5kPWgxKyh3YXRlci0oaDEtc3RhcnQpKnYxKS92MjsKCQkJCWVuZD0oZW5kPmgxK2gyKT8oaDEraDIpOmVuZDsKCQkJCXJlc3VsdD1lbmQtc3RhcnQ7CgkJCX0KCQkJZWxzZQoJCQlyZXN1bHQ9ZW5kLXN0YXJ0OwoJCX0KCQllbHNleyAgICAgICAgICAgICAgICAgICAgICAgIC8v5LiK5bGkCgkJCWVuZD1zdGFydCt3YXRlci92MjsKCQkJcmVzdWx0PShlbmQ+aDEraDIpPyhoMStoMi1zdGFydCk6KGVuZC1zdGFydCk7CgkJfQoJCXN0YXJ0PWVuZDsKCQlNYXg9KHJlc3VsdD5NYXgpP3Jlc3VsdDpNYXg7Cgl9CglwcmludGYoIiVkIixNYXgpOwoJcmV0dXJuIDA7Cn0K