#2197. 置换

置换

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

Format

Input

一行两个整数n,p.

n ≤ 200, 10000 < p < 10^9

Output

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

Samples

3 10007
1673
// 答案为 31/6