AT_agc054_c [AGC054C] Roughly Sorted

题目描述

すぬけくん得到了一个 $ (1,\ 2,\ ...,\ N) $ 的排列 $ P=(P_1,P_2,\cdots,P_N) $ 和一个整数 $ K $。于是,すぬけくん不断交换 $ P $ 中相邻的两个元素,使得满足以下条件: - 对于每个 $ 1\leq i\leq N $,满足 $ 1\leq jP_i $ 的 $ j $ 的个数至多为 $ K $。 在这里,すぬけくん以**最小**的操作次数达成了上述条件。 所有操作结束后,すぬけくん忘记了原来的排列。现在给定操作后的排列 $ P' $,请你求出有多少种可能的原始排列 $ P $,使得经过最小次数的相邻交换后可以得到 $ P' $,并将答案对 $ 998244353 $ 取模。

输入格式

输入通过标准输入给出,格式如下: > $ N $ $ K $ $ P'_1 $ $ P'_2 $ $ \cdots $ $ P'_N $

输出格式

请输出答案。

说明/提示

## 限制条件 - $ 2\leq N\leq 5000 $ - $ 1\leq K\leq N-1 $ - $ 1\leq P'_i\leq N $ - $ P'_i\neq P'_j $($ i\neq j $) - 对于每个 $ 1\leq i\leq N $,满足 $ 1\leq j