#BZOJ4673. 置换

置换

题目描述

对于由n个元素的置换P,我们定义f(P)为最小的正整数k,使得P^k为恒等置换.
举个例子,当n=3时,考虑置换P=(3 1 2),那么P^2=(2 3 1),P^3=(1 2 3),因此f(P)=3.
你需要求出对于所有的n元素置换P,f^2(P)的平均值是多少?
为了避免实数误差,假设答案可以表示成a/b的形式,你需要给出整数c,使得b·c≡a(modp)
其中p是读入给定的一个数.

输入格式

一行两个整数n,p.
n ≤ 200, 10000 < p < 10^9

输出格式

一行一个整数,表示模p意义下的答案.

3 10007
1673 // 答案为 31/6