#CF2125E. 互补和集合

互补和集合

E. 互补和集合
时间限制:2 秒
内存限制:1024 兆字节

如果一个整数集合 QQ 能通过以下方式得到,则称它为互补和集合

  • 选择一个由 mm 个正整数组成的数组 aamm 是任意正整数);
  • 计算数组 aa 中所有元素的和 ss
  • 对于数组 aa 中的每个元素 aia_i,将数 sais - a_i 加入集合,即 Q={sai1im}Q = \{s - a_i \mid 1 \le i \le m\}

注意,QQ 不是多重集,因此其中的每个数是唯一的。例如,若选择数组 a=[1,3,3,7]a = [1,3,3,7],则 s=14s = 14Q={7,11,13}Q = \{7,11,13\}

你的任务是统计满足以下条件的不同互补和集合的个数:

  • 集合恰好包含 nn 个元素;
  • 集合中的每个元素都是 11xx 之间的整数。

如果存在一个元素属于第一个集合但不属于第二个集合,则认为两个集合不同。

由于答案可能很大,请输出它对 998244353998244353 取模的结果。


输入
每个测试包含多个测试用例。第一行包含一个整数 tt1t1041 \le t \le 10^4)—— 测试用例数。

每个测试用例的唯一一行包含两个整数 nnxx1n,x21051 \le n, x \le 2 \cdot 10^5)。

输入数据的附加限制:

  • 所有测试用例的 nn 之和不超过 21052 \cdot 10^5
  • 所有测试用例的 xx 之和不超过 21052 \cdot 10^5

输出
对于每个测试用例,输出一个整数 —— 答案对 998244353998244353 取模。


样例
输入

5
1 7
2 5
3 10
27 31415
1000 999

输出

7
10
34
605089068
0

说明

  • 第一个测试用例中,恰好有 77 个符合条件的集合:
    {1},{2},{3},{4},{5},{6},{7}\{1\},\{2\},\{3\},\{4\},\{5\},\{6\},\{7\}
  • 第二个测试用例中,有 1010 个符合条件的集合:
    $\{1,2\},\{1,3\},\{1,4\},\{1,5\},\{2,3\},\{2,4\},\{2,5\},\{3,4\},\{3,5\},\{4,5\}$。