#ATarc179b. [ARC179B] Between B and B

[ARC179B] Between B and B

题目描述

给定一个由 11MM 之间的整数构成的长度为 MM 的数列 (X1,X2,,XM)(X_1, X_2, \dots, X_M)

请计算满足以下条件的长度为 NN 的数列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N) 的个数,并对 998244353998244353 取模。

  • 对于每个 B=1,2,,MB=1,2,\dots,M,在 AA 中任意两个不同位置的 BB 之间(包括两端),都存在 XBX_B

更准确地说,对于每个 B=1,2,,MB=1,2,\dots,M,都满足以下条件:

  • 对于所有满足 1l<rN1 \leq l < r \leq NAl=Ar=BA_l = A_r = B 的整数对 (l,r)(l, r),都存在一个整数 mm,使得 lmrl \leq m \leq rAm=XBA_m = X_B

输入格式

输入以如下格式从标准输入读入:

MM NN X1X_1 X2X_2 \cdots XMX_M

输出格式

输出满足条件的数列 AA 的个数,对 998244353998244353 取模。

样例 1

输入

3 4
2 1 2

输出

14

样例 2

输入

4 8
1 2 3 4

输出

65536

样例 3

输入

4 9
2 3 4 1

输出

628

说明/提示

限制

  • 1M101 \leq M \leq 10
  • 1N1041 \leq N \leq 10^4
  • 1XiM1 \leq X_i \leq M
  • 输入的所有值均为整数。

样例解释 1

满足条件的 AA 例如如下:

  • (1,3,2,3)(1,3,2,3)
  • (2,1,2,1)(2,1,2,1)
  • (3,2,1,3)(3,2,1,3)

相反,以下数列不满足条件:

  • (1,3,1,3)(1,3,1,3) —— 33 之间没有 X3=2X_3=2
  • (2,2,1,3)(2,2,1,3) —— 22 之间没有 X2=1X_2=1

样例解释 2

所有由 1144 之间的整数构成的长度为 88 的数列都满足条件。注意当 XB=BX_B = B 时,任意两个 BB 之间必然包含 BB

由 ChatGPT 4.1 翻译