A121004.小枫的密码锁

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

小枫、小午和小安三个人在玩一个解密游戏。

小枫设计了一个特殊的密码锁,锁上有 MM 个数字按键,编号为 11MM
密码是一个长度为 NN 的序列,每个位置可以是 11MM 中的任意数字。

小枫还设定了一个约束规则,用长度为 MM 的数组 X=(X1,X2,,XM)X = (X_1, X_2, \dots, X_M) 表示。
规则是:对于每个数字 BB1BM1 \leq B \leq M),在密码序列中,任意两次出现 BB 之间(包括这两次出现的位置),都必须至少出现一次 XBX_B

换句话说,如果密码中有两个位置 l<rl < r 都等于 BB,那么在区间 [l,r][l, r] 内,必须至少有一个位置的值是 XBX_B

小午需要猜出所有可能的密码。小安负责统计一共有多少种不同的密码满足这个约束。

请你帮小安算出这个数量,并对 998244353998244353 取模。

输入格式

第一行两个整数 MMNN

第二行 MM 个整数 X1,X2,,XMX_1, X_2, \dots, X_M,每个 XiX_i 满足 1XiM1 \leq X_i \leq M

输出格式

输出一个整数,表示满足条件的密码个数,对 998244353998244353 取模。

输入输出样例

  • 输入#1

    3 4
    2 1 2

    输出#1

    14

说明/提示

数据范围

对于 100%100\% 的测试数据,满足:1M101 \leq M \leq 101N1041 \leq N \leq 10^41XiM1 \leq X_i \leq M

首页