#1296. 5.计数问题

5.计数问题

5.计数问题

题目描述

有个无穷大的mm维空间,一开始你在(0,0,,0)(0,0,\cdots,0)位置,每次你会等概率随机地往2m2m个方向走一步,即第11维加一或者减一,第22维加一或者减一……

请问走了nn步之后,你能经过的不同位置个数的期望。

比如(0,0)(0,1)(1,1)(1,0)(0,0)(0,0) \to (0,1) \to (1,1) \to (1,0) \to (0,0)这样的路径,你经过的位置是(0,0)(0,0)(0,1)(0,1)(1,1)(1,1)(1,0)(1,0)。请输出期望乘上(2m)n(2m)^n之后,对modmod取模的结果。

输入格式

一行三个正整数nnmmmodmod

输出格式

一行一个整数表示答案。

数据范围与提示

  • 对于10%10\%的数据,n5n \leq 5
  • 对于另外20%20\%的数据,m=1m = 1
  • 对于另外20%20\%的数据,n50n \leq 50m=2m = 2
  • 对于另外20%20\%的数据,m=2m = 2
  • 对于100%100\%的数据,1n20001 \leq n \leq 20001m101 \leq m \leq 101mod109+71 \leq mod \leq 10^{9}+7

样例

4 2 123456789
1068
30 2 1000000000
842235648
50 5 876543210
519048580