你是百丽宫校赛的出题人,你正在忙于给校赛的网选出题,当你在出题平台polygon上输入了长长的一段题面故事后,你点击save按钮,却发现网站跳转进入了登录页面——你写题面的时间过长,登录失效了!
你相当沮丧,因为这意味着你需要花同样多的时间再次输入之前输入过的题面,并且在途中还要花更多的时间点击保存按钮。你知道登录失效的时间是由平台内部决定的定值$$$l$$$,当你在输入完题面点击"保存"按钮时,若距离你上一次保存的时间超过了保存阈值$$$l$$$,则你会被强制跳转到登录界面,且你在上一次保存之后输入的所有内容均会丢失。
理论最保险的方式是频繁点击"保存"按钮,但你并不想这么做,因为每次点击"保存"按钮,平台会有一段将数据上传并刷新网页的时间$$$t_{flush}$$$,在此期间你无法做任何操作,这段时间显得相当难熬。幸运的是,你已经知道了网站内部的参数$$$l$$$在两个已知常数$$$x$$$和$$$y$$$之间,即满足$$$x\leq l \leq y$$$。由于你并不知道网站选择参数的方式,因此你将该参数视为在$$$x\sim y$$$之间的$$$y-x+1$$$个整数之内均匀随机挑选一个。
现在,你有一篇 $$$n$$$ 个字的题面需要输入,每个字你需要 $$$1$$$ 单位的时间输入,输入完任何一个字后你均可以点击保存按钮,每次点击保存按钮都将额外花费$$$t$$$单位的时间。最开始,上一次保存的时间 $$$t_{last}$$$ 被视为 $$$0$$$ ,随后,当你在 $$$i$$$ 时刻点击保存按钮时,网站会立即检查 $$$i-t_{last}$$$ 与 $$$l$$$ 的大小关系,若 $$$i-t_{last}\leq l$$$ 则保存成功,否则保存失败;若保存成功,则第 $$$i+t_{flush}$$$ 时刻你输入的内容会被保存,否则,第 $$$i+t_{flush}$$$ 时刻你的页面会立即重置为你上一次保存的状态,即你在中间过程中输入的额外内容被清除。无论保存成功还是失败,你都在 $$$i+t_{flush}$$$ 时刻才能得知结果,并且上一次保存时间也会被直接置为 $$$i+t_{flush}$$$ 。你希望知道,当你采用最优策略(即尽可能使期望时间最小的策略)时,你输入整篇题面并全部保存下来的最小期望时间。
例如,你有一篇长度为5的文章,阈值 $$$l=2$$$ ,等待时间 $$$t_{flush}=1$$$ ,你先输入了 $$$3$$$ 个词,并点击保存按钮,你会在 $$$4$$$ 时刻得到保存失败的信息,此时你的已输入词数会被重置为 $$$0$$$ ,你输入 $$$2$$$ 个词,并再次点击保存按钮,点击时为 $$$6$$$ 时刻,你会在 $$$7$$$ 时刻得到保存成功的信息,此时上一次保存的时刻也被设置为 $$$7$$$ ,你可以继续进行内容的编辑。
一行四个正整数$$$n,x,y,t_{flush}(1\leq n,x,y,t_{flush} \leq 100, x \leq y)$$$,分别代表题面长度,保存阈值的范围,按下保存按钮产生的额外时间消耗。
输出一行一个整数$$$ans$$$代表你求得的最小期望时间对$$$10^9+7$$$取模后的答案。具体的,若你求得的答案的期望值为分数$$$\frac{u}{v}$$$,则输出的答案需要满足$$$0\leq ans \lt 10^9+7$$$,且$$$ans\times v \equiv u \pmod{10^9+7}$$$,可以证明这样的$$$ans$$$在$$$0\sim 10^9+6$$$间只有一个。
5 1 5 1
9
21 1 4 10
500000149
21 1 5 10
600000137
89 23 97 11
413333463
对于样例2,我们采用的策略为,先尝试输入3个词后保存,若成功则一直采用每3个词保存一次的方式,若失败则再尝试2个词保存是否成功,此后即可得到真实的阈值,并采用最优策略。
具体的:
期望值为$$$\frac{1}{4}\times (256+144) + \frac{2}{4}\times 91= 145.5 = \frac{291}{2}$$$,我们发现$$$500000149 \times 2 = 1000000298 = (10 ^ 9 +7)+291 \equiv 291 \pmod{10^9+7}$$$,故答案为500000149。
可以证明,没有期望值更优的其他策略。
样例1、3、4的实际期望值分别为$$$9、\frac{664}{5}、\frac{9508}{75}$$$。
| Name |
|---|


