Gachapon
题号:NC234839
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Snuke 发现一个随机数生成器,这个生成器可以生产 0n-1 的整数。一个整数序列 ,代表这些数被生成的概率。整数 i () 被生成的概率是 ()。每次生成整数互不影响。

现在Snuke重复使用生成器生成整数,直到满足:
对于每个 i (), i 生成了 b_i 次。

请计算Snuke使用生成器的次数的期望值,把它取模 998244353 输出。

输入描述:

第一行,一个整数 n
接下来n 行,每行两个整数

数据范围:





所有输入的数都是整数

输出描述:

输出一个整数,表示答案对 998244353 取模的结果。

假设你的答案是 (最简分数),那么你应当输出 ,其中q 在模 998244353 意义下的逆元(数据保证存在)。
示例1

输入

复制
2
1 1
1 1

输出

复制
3

说明

Snuke 使用生成器的期望次数是3。
示例2

输入

复制
3
1 3
2 2
3 1

输出

复制
971485877

说明

Snuke 使用生成器的期望次数是 \frac{132929}{7200}
示例3

输入

复制
15
29 3
78 69
19 15
82 14
9 120
14 51
3 7
6 14
28 4
13 12
1 5
32 30
49 24
35 23
2 9

输出

复制
371626143