calc

时间限制:30s      空间限制:512MB

题目描述


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


输入格式

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


输出格式

  一行结果。


样例输入

9 7 10007



样例输出

3611

提示

数据规模和约定
  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


题目来源

没有写明来源