#agc043d. [agc043_d]Merge Triplets
[agc043_d]Merge Triplets
题目描述
给定一个正整数 。通过以下步骤生成 的排列 。由于结果可能非常大,所以对质数 取模后输出。
- 使用整数 到 恰好一次,构造 个长度为 的序列 。
- 构造一个空序列 ,并进行以下操作 次:
- 从非空序列 的开头选取最小的元素 。
- 将 从序列中移除,并将 添加到 的末尾。
约束条件
- 是一个质数。
- 输入中的所有值都是整数。
输入格式
输入格式如下:
输出格式
输出在模 下的排列数。
示例输入 1
1 998244353
示例输出 1
6
计算所有长度为 的排列数。
示例输入 2
2 998244353
示例输出 2
261
示例输入 3
314 1000000007
示例输出 3
182908545