题号:NC313161
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小 L 的科研毫无进展,于是他又开始和 fallleaves01 玩游戏。

游戏在一个初始值为

的变量

上进行。小 L 和 fallleaves01 轮流对

进行累加操作,
小 L 先手。

每一轮分为两个回合,具体规则如下:

小 L 的回合:以

的概率将

更新为

,以

的概率将

更新为

。

fallleaves01 的回合:以

的概率将

更新为

,以

的概率将

更新为

。

一旦满足

,游戏立即结束,否则继续进行下一轮。现在小 L 想请问你,最后一次操作由他完成的概率是多少?

可以证明答案可以表示为一个不可约分数

,为了避免精度问题,请直接输出整数
)
作为答案,其中

,

是满足

的整数。
输入描述:
第一行输入五个正整数
,表示小 L 的两个增量、fallleaves01的两个增量、游戏结束的目标阈值。
第二行输入两个非负整数
,表示概率对
取模之后的值。
输出描述:
输出一个非负整数,表示最后一次操作由小 L 完成的概率对
取模后的结果。
示例3
输入
复制
2 3 4 5 50
499122177 499122177