#CF1967E1. 再次统计数组(简单版)

再次统计数组(简单版)

E1. Again Counting Arrays (Easy Version) 再次统计数组(简单版)

时间限制55内存限制512512 兆字节

这是该题的简单版本。两个版本的区别在于对 n,m,b0n, m, b_0 的限制以及时间限制。只有当两个版本都通过时,你才能进行 hack 操作。

小 R 之前统计过许多集合,现在她决定来统计数组。

小 R 认为一个由非负整数构成的数组 b0,,bnb_0, \dots, b_n连续的,当且仅当对于每个满足 1in1 \le i \le nii,都满足 bibi1=1\boldsymbol{|b_i - b_{i-1}| = 1}。她喜欢连续性,所以她只想生成连续数组。

如果给小 R 一个 b0b_0 和数组 a1,,ana_1, \dots, a_n,她会尝试生成一个非负的连续数组 bb,并且这个数组 bbaa 没有任何相似之处。形式化地说,对于所有 1in1 \le i \le n,都满足 aibi\boldsymbol{a_i \neq b_i}

然而,小 R 并没有数组 aa。相反,她给了你 n,m,b0n, m, b_0。 她想要统计不同的数组 a1,,ana_1, \dots, a_n 的数量,满足以下条件:

  1. 1aim\boldsymbol{1 \le a_i \le m}
  2. 至少存在一个非负的连续数组 b0,,bnb_0, \dots, b_n 可以被生成。

注意:bi0b_i \ge 0,但是 bib_i 可以任意大。

由于答案可能非常大,请将答案对 998244353\boldsymbol{998244353} 取模后输出。


输入格式

每个测试包含多组数据。 第一行包含测试用例数 tt1t1041 \le t \le 10^4)。

每组测试用例仅一行,包含三个整数 n,m,b0n, m, b_0

  • 1n21051 \le n \le 2 \cdot 10^5:数组 a1,,ana_1, \dots, a_n 的长度。
  • 1m21051 \le m \le 2 \cdot 10^5:数组 aa 中元素的最大值。
  • 0b021050 \le b_0 \le 2 \cdot 10^5:数组 bb 的初始值。

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

输出格式

对于每组测试用例,输出一行一个整数,表示合法数组 a1,,ana_1, \dots, a_n 的数量,对 998244353998244353 取模。


样例输入

6
3 2 1
5 5 3
13 4 1
100 6 7
100 11 3
1000 424 132

样例输出

6
3120
59982228
943484039
644081522
501350342

样例说明

在第一个测试用例中:

  • 例如,当 a=[1,2,1]a = [1, 2, 1] 时,我们可以取 b=[1,0,1,0]b = [1, 0, 1, 0]
  • 例如,当 a=[1,1,2]a = [1, 1, 2] 时,我们可以取 b=[1,2,3,4]b = [1, 2, 3, 4]

总共有 66 个合法的 aa 数组。事实上,可以证明只有 a=[2,1,1]a = [2, 1, 1]a=[2,1,2]a = [2, 1, 2] 这两个数组无法构造出合法的非负连续数组 bb,所以答案是 232=62^3 - 2 = 6