#arc093d. [arc093_d]Dark Horse
[arc093_d]Dark Horse
问题描述
有 个玩家,编号为 。他们决定举办一场比赛。
比赛的进行如下:
- 选择一个排列 :。
- 玩家按照 的顺序排成一行。
- 重复以下步骤直到只剩下一位玩家:
- 进行下列比赛:排在行中第一位的玩家对阵排在行中第二位的玩家,排在行中第三位的玩家对阵排在行中第四位的玩家,以此类推。败者离开行,胜者按照相对顺序重新排成一行。
- 最后留在行中的玩家就是冠军。
已知,两位玩家之间比赛的结果可以通过输入的 个整数 来判断:
- 当 ,其中 为某个整数时,玩家 和玩家 ()之间的比赛胜者是玩家 。
- 当 ,对于所有的 ,玩家 和玩家 ()之间的比赛胜者是玩家 。
- 当 ,玩家 和玩家 之间的比赛胜者是玩家 。
这场比赛的冠军只取决于一开始选择的排列 。求满足冠军为玩家 的排列 的数量,结果对 取模。
约束条件
- ()
- ()
输入
输入以以下格式从标准输入给出:
输出
输出答案。
示例输入 1
2 1
3
示例输出 1
8
满足条件的排列 的示例有:\[1, 4, 2, 3\] 和 \[3, 2, 1, 4\]。不满足条件的排列 的示例有:\[1, 2, 3, 4\] 和 \[1, 3, 2, 4\]。
示例输入 2
4 3
2 4 6
示例输出 2
0
示例输入 3
3 0
示例输出 3
40320
示例输入 4
3 3
3 4 7
示例输出 4
2688
示例输入 5
16 16
5489 5490 5491 5492 5493 5494 5495 5497 18993 18995 18997 18999 19000 19001 19002 19003
示例输出 5
816646464