#abc247h. [abc247_h]Rearranging Problem
[abc247_h]Rearranging Problem
题目描述
有 个人,他们按从前向后的顺序排列,分别称为 Person ,Person ,,Person 。 Person 穿着颜色 。
高桥重复以下操作 次:随机选择两个人 和 并交换 Person 和 Person 的位置。
在 次操作结束后,从前向后数第 个人穿着的颜色与 相同,对于满足 的所有整数 。
在 次操作后,有多少种可能的人的排列方式?将计数结果对 取模。
约束条件
- 输入中的所有值均为整数。
输入
从标准输入获得输入数据,格式如下:
输出
打印答案。
示例输入 1
4 1
1 1 2 1
示例输出 1
3
下面是高桥的全部可能操作和每个操作后的人的排列方式:
- 交换 Person 和 Person 的位置,得到排列 。
- 交换 Person 和 Person 的位置,得到排列 。
- 交换 Person 和 Person 的位置,得到排列 。
示例输入 2
3 3
1 1 2
示例输出 2
1
下面是高桥的一种可能操作序列:
- 在第 次操作中,交换 Person 和 Person 的位置,得到排列 。
在第 次操作中,交换 Person 和 Person 的位置,得到排列 。
在第 次操作中,交换 Person 和 Person 的位置,得到排列 。
请注意,在操作序列中,从前向后数第 个人的颜色不一定与 相同。
示例输入 3
10 4
2 7 1 8 2 8 1 8 2 8
示例输出 3
132