#DMU2026B. 排列(组合)问题

排列(组合)问题

\hspace{15pt}这道题是C题的共轭题目!

\hspace{15pt}给你一个长度为 NN 的排列 P=(P1,P2,,PN)P = (P_1, P_2, \dots ,P_N) ,该排列由 (1,2,3,,N)(1, 2, 3, \dots, N) 组成.

\hspace{15pt}对于一个长度为 NN 排列 QQ 来说,定义 QQ 的姊妹排列 Qˉ\bar{Q} 是执行下面操作刚好一次之后能产生的新排列中 字典序 最小的排列.

  • 选择一个二元组 (l,r)(l, r) 满足 1lrN1\leq l \leq r \leq N ,然后翻转 (Ql,Ql+1,,Qr1,Qr)(Q_l, Q_{l + 1}, \dots ,Q_{r-1},Q_{r}), 换句话说,把排列 Q=(Q1,Q2,,QN)Q = (Q_1, Q_2, \dots ,Q_N) 替换成 $\bar{Q} = (Q_1,\dots, Q_{l-1},Q_r, Q_{r-1}, \dots , Q_{l+1}, Q_{l},Q_{r+1}, \dots,Q_N)$

\hspace{15pt}求使得其姊妹排列 Qˉ\bar{Q} 刚好是 PP 的排列 QQ 的数量,答案对 998244353998244353 取模。

\hspace{15pt}形式化的说,求使下面这个式子成立的排列 QQ 的数量:

  • Qˉ=P\bar{Q} = P

\hspace{15pt}给你 TT 组样例,请你分别求解每一个.

Constraints

  • 1T1 \leq T
  • 1N5×1051 \leq N \leq 5 \times 10^5
  • PP(1,2,,N)(1, 2, \dots, N) 的排列
  • NN 的和不超过 5×1055 \times 10^5
  • 所有输入均为整数

Input

通过标准输入输入数据,满足以下格式:

Tcase1case2..caseT T \\ case_1 \\ case_2\\ .\\ .\\ case_T\\

每一组测试用例满足以下格式:

NP1 P2 P3  PN N \\ P_1 \ P_2 \ P_3 \ \dots \ P_N

Output

输出共 TT 行,对于第 ii 行,你要输出第 ii 组测试用例的答案.

对于每一个测试用例,你要输出 11 个数字,表示答案,对 998244353998244353 取模.

Samples

4
3
1 3 2
1
1
4
4 3 2 1
6
1 2 6 5 4 3
2
1
0
9