Love You Guys
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

众所周知,《编译原理》是计算机专业的一门难度极高的课程,zwh_zzz希望自己能够驾驭这门课程,因此友好的他会在课前向朋友们传达友好的鼓励与邀请:“Love You Guys!”(LYG!)。zwh_zzz对编译原理课程有一个初始熟练度X,但由于他每天都要LYG,因此他每天都会遗忘Z点熟练度,对于Z的取值,在第一天是a,第二天为a+b,第三天为a+2\times b,以此类推,第i 天就会遗忘a+(i-1)\times b点熟练度。

但是频繁的遗忘使zwh_zzz很困惑,于是他会选择复习一下编译原理,能够增加Y点熟练度,但需要注意,zwh_zzz已经无法达到最初的水平了,也就是指,后续的熟练度加了Y后,若超过初始熟练度X,则会维持在X不变。

请你帮助他,他想知道再这样下去,第几天后他就会把编译原理忘了(当天结束后,熟练度为负数)然后惨烈挂科。

输入描述:

输入一行:四个正整数X,Y,a,b,含义如题意所示。(1\le X,Y,a,b \le 10^{6}

输出描述:

输出一个正整数,代表最早的挂科时间点。
示例1

输入

复制
10 3 1 2

输出

复制
5

说明

第一天:遗忘1点熟练度,通过复习恢复3点熟练度,最后熟练度为10-1+3=12,但这超过了初始熟练度,最终熟练度仍为10。

第二天:遗忘3点熟练度,通过复习恢复3点熟练度,最后熟练度为10-3+3=10。

第三天:遗忘5点熟练度,通过复习恢复3点熟练度,最后熟练度为10-5+3=8。

第四天:遗忘7点熟练度,通过复习恢复3点熟练度,最后熟练度为8-7+3=4。

第五天:遗忘9点熟练度,通过复习恢复3点熟练度,最后熟练度为4-9+3=-2。熟练度为负数,挂科。