#P12549. [集训队互测 2024day5]栞

[集训队互测 2024day5]栞

给定 n,kn,k,设 pp 是一个 nn 阶排列,你可以将 pp 划分成恰好 kk 个非空连续段(也即,选择 k1k-1 个断点 1x1<x2<<xk1<n1\le x_1 < x_2 < \cdots < x_{k-1} < n,令划分为 [1,x1],(x1,x2],,(xk1,n][1, x_1], (x_1, x_2], \cdots, (x_{k-1}, n]),然后将每段内部的数从小到大排序,得到一个新的排列 qq

定义 f(p)f(p) 表示,所有划分方案里可能得到的 qq 中字典序最小的那一个。

现在给定一个 nn 阶排列 qq,求有多少个 nn 阶排列 ppf(p)=qf(p)=q。请输出答案模 998244353998244353 的值。

输入格式

第一行两个数 n,kn,k

第二行 nn 个数,表示排列 qq

输出格式

一行一个数,表示答案。

样例

样例 1
2 1
1 2
2
样例 2
3 3
3 1 2
1
样例 3
6 3
1 2 3 6 5 4
13

数据范围

对于所有数据,1n500,1kn1\le n\le 500,1\le k \le n

子任务 1(10%):n6n\le 6

子任务 2(20%):n10n\le 10

子任务 3(30%):q=(1,2,,n)q=(1,2,\cdots,n)

子任务 4(40%):无特殊限制。