Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:512 MB
统计

题目背景
小A正在玩以白眉拳的题材的动作游戏师父(sifu)。
游戏有独特的死亡机制:每次死亡后,可以以年龄增长为代价复活。年龄增长由死亡计数器来决定,每 次死亡,死亡计数器都会加一,年龄会加上死亡计数器。不过,只要打败精英敌人,死亡计数器就会减 一。
随着年龄增长,角色会变得更加脆弱,但伤害也会提高。一旦到达70岁,死亡就无法复生。
小A打完第一章就已经79岁了,他想让你帮他计算他年龄的期望。
题目描述
你有两个数 x和 y。初始时其值皆为 0。
你需要依次面对 n个敌人。对于每个敌人,你有 p的概率失败, q的概率胜利,保证p+q=1 。 如果失败,$y ← y+1,x ← x+y $。
如果胜利,$y ← min(y-1,0)$ 。
无论失败还是胜利,你将去对战下一个敌人。
你需要求出在 n个敌人之后 x值的期望。
输入
输入一行三个正整数n,p,q 表示敌人数,失败的概率和胜利的概率,保证$(p+q ≡ 1(mod \ 998244353))。$
输出
一行一个数,表示答案对 998244353取模的值。
样例
样例1输入

2 499122177 499122177
样例1输出

748683266
样例解释:$n=2,p=q=\frac{1}{2}$ ,赢两次的年龄为 3,赢一次的年龄为 1,否则为0 。因此答案为$\frac{1}{4}(3+1+1+0)=\frac{5}{4}$。
样例2,3
见下发文件中的 sifu2.in/sifu2.ans , sifu3.in/sifu3.ans 。
样例2,3
数据范围 对于20% 的数据,满足$n ≤ 5000 $。 对于60% 的数据,满足$n ≤ 10^5 $ 。 对于100% 的数据,满足$n ≤ 10^7,p,q < 998244353 $。