#CF1936E. E. 又一个排列问题

    ID: 7269 传统题 5000ms 1024MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>组合数学动态规划多项式数据结构*3400

E. 又一个排列问题

时间限制:每个测试点 5 秒
内存限制:每个测试点 1024 MB

给你一个长度为 nn 的排列 pp

请计算满足以下条件的长为 nn 的排列 qq 的数量:

  • 对每个 1i<n1 \leq i < n,有 max(q1,,qi)max(p1,,pi)\max(q_1, \ldots, q_i) \neq \max(p_1, \ldots, p_i)

由于答案可能很大,输出答案对 998244353998\,244\,353 取模。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例数 tt1t1041 \leq t \leq 10^4)。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn2n21052 \leq n \leq 2 \cdot 10^5)。

第二行包含 nn 个整数 p1,p2,,pnp_1, p_2, \ldots, p_n1pin1 \leq p_i \leq n)。保证 pp 是一个排列。

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

输出格式

对于每个测试用例,输出一个整数——答案对 998244353998\,244\,353 取模的值。

示例

输入

6
2
2 1
3
1 2 3
3 1 2
4
2 4 1 3
5
3 5 1 4 2
15
6 13 2 8 7 11 1 3 9 15 4 5 12 10 14

输出

1
3
2
4
18
424488915

说明

在第一个测试用例中,p=[2,1]p = [2, 1]。唯一符合条件的 qq[1,2][1, 2]。的确,我们需要满足 q1p1q_1 \neq p_1,这只对 q=[1,2]q = [1, 2] 成立。

在第二个测试用例中,p=[1,2,3]p = [1, 2, 3]。因此 qq 需要满足两个不等式:q1p1q_1 \neq p_1 以及 max(q1,q2)max(1,2)=2\max(q_1, q_2) \neq \max(1, 2) = 2。可以证明只有以下 33 个排列满足条件:

  • q=[2,3,1]q = [2, 3, 1]:此时 q1=21q_1 = 2 \neq 1max(q1,q2)=32\max(q_1, q_2) = 3 \neq 2
  • q=[3,1,2]q = [3, 1, 2]:此时 q1=31q_1 = 3 \neq 1max(q1,q2)=32\max(q_1, q_2) = 3 \neq 2
  • q=[3,2,1]q = [3, 2, 1]:此时 q1=31q_1 = 3 \neq 1max(q1,q2)=32\max(q_1, q_2) = 3 \neq 2