#H1007. 机械降神

机械降神

题目描述

众所周知,观者需要频繁地在愤怒与冷静这两个姿态之间切换。

接下来的 n=p+qn=p+q 个时刻,她记录下自己每个时刻的姿态得到了状态序列 a1,a2,,ana_1,a_2,\cdots,a_n,姿态只有两种(即愤怒、冷静),其中愤怒总共有 pp 个,冷静总共有 qq 个。观者定义一个姿态序列的危险度是最长同姿态连续段长度,即最长愤怒连续段长度与最长冷静连续段长度的最大值。

观者很容易就算出了所有状态序列危险度的最小值,她想知道危险度恰好为这个值的状态序列有多少个,多组询问。由于答案过大,你只需要输出其对 998244353998244353 取模的结果。

输入格式

第一行一个正整数 TT,表示询问组数。

接下来 TT 组数据,每组数据占一行,输入两个正整数 p,qp,q

输出格式

TT 行每行一个非负整数,表示答案。

5
2 3
2 4
3 3
7 7
2 10
1
6
2
2
6

样例 2~4 见下发文件:样例下载

数据范围

对于 100%100\% 的数据,保证 1T3×105,1p,q20001\leqslant T\leqslant 3\times 10^5,1\leqslant p,q\leqslant 2000

数据点标号 pp\leqslant qq\leqslant 特殊性质
11 44
22 1010
33 100100
454\sim 5 A
676\sim 7 B
8108\sim 10

特殊性质 A:保证 T10T\leqslant 10

特殊性质 B:保证 q3p3q\frac q3\leqslant p\leqslant 3q