UOJ Logo 黑暗爆炸OJ

DARKBZOJ

#4673. 置换

统计 下载数据

Description

对于由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是读入给定的一个数.

Input

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

Output

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

Sample Input

3 10007

Sample Output

1673
// 答案为 31/6

Hint

Source