#S1048a. bracket

bracket

时间限制:1000ms

空间限制:512MB

问题描述

梦梦和熊熊在玩插入括号的游戏。

一个合法的括号匹配序列有以下定义:

  1. 空串是一个合法的括号匹配序列

  2. 如果 XXYY 都是合法的括号匹配序列,X+YX+Y 也是一个合法的括号匹配序列

    1. 如果 XX 是一个合法的括号匹配序列,那么 (X)(X) 也是一个合法的括号匹配序列

    2. 每个合法的括号序列都可以由以上规则生成。

现在梦梦和熊熊按照如下方式生成一个序列,初始时序列为空:

  • 等概率随机选择一个空位(若当前有 𝑘𝑘 个字符,则有 k+1k+1 个空位,每个空位选中的概率为 1k+1\frac{1}{k+1})。
  • 𝑝𝑝 的概率在空位上插入字符串 () 或以 1𝑝1−𝑝 的概率插入字符串 )(

梦梦和熊熊想知道最终得到的序列是合法括号匹配序列的概率,答案对 998244353998244353 取模。

输入格式

给定两个正整数 n,x,yn,x,y,其中 p=xyp=\frac{x}{y}

输出格式

输出一个整数,表示答案,答案对 998244353998244353 取模。

样例输入1

2 3 5

样例输出1

519087064

样例解释1

得到 (())(()) 的概率为 325\frac{3}{25}

得到 ()()()() 的概率为 825\frac{8}{25}

可以证明,最终答案为 1125\frac{11}{25}

样例输入2

9 1234 5678

样例输出2

231549315

样例输入3

97 12345 678910

样例输出3

314736454

评测数据规模

对于 10%10\% 的数据,n=1n=1​​。

对于 20%20\% 的数据,1n71 \leq n \leq 7

对于 40%40\% 的数据,1n111 \leq n \leq 11

对于 70%70\% 的数据,1n1001 \leq n \leq 100​​。

对于 100%100\% 的数据,1n500,1x<y9982443521 \leq n \leq 500,1 \leq x < y \leq 998244352

数据保证有一定梯度。