#2851. calc

calc

Description

一个序列a1,...,an是合法的,当且仅当:   长度为给定的n。   a1,...,an都是[1,A]中的整数。   a1,...,an互不相等。   一个序列的值定义为它里面所有数的乘积,即a1a2...an。   求所有不同合法序列的值的和。   两个序列不同当且仅当他们任意一位不一样。   输出答案对一个数mod取余的结果。

Format

Input

一行3个数,A,n,mod。意义为上面所说的。

Output

一行结果。

Samples

9 7 10007
3611

Limitation

0:A<=10,n<=10。

1..3:A<=1000,n<=20.

4..9:A<=10^9,n<=20

10..19:A<=10^9,n<=500。

全部:mod<=10^9,并且mod为素数,mod>A>n+1