J. Balance in All Things
time limit per test
15 seconds
memory limit per test
1024 megabytes
input
standard input
output
standard output

Bobo is participating in a weird tournament with $$$2n$$$ players, labeled $$$1$$$ through $$$2n$$$. Initially, all players have a score of zero. The tournament consists of $$$k$$$ rounds, and in each round, players are paired for one-on-one matches.

The scoring mechanism is as follows: after each match, the player with the higher score loses $$$1$$$ point, while the player with the lower score gains $$$1$$$ point. If two players have the same score, the player with the lower label (i.e., the smaller number) is considered the winner and gains $$$1$$$ point, while the other player loses $$$1$$$ point.

To ensure balance and to make the tournament more exciting, the host decided that the absolute value of any player's score must never exceed $$$3$$$ at any point in the tournament. Given these rules, Bobo wants to determine the number of possible ways to arrange the matches over the $$$k$$$ rounds.

As the answer might be too large, you should output the answer modulo $$$P$$$, which is a specified prime number.

Input

The first line of input contains three integers $$$n,k,P$$$ $$$(1\leq n\leq 400,1\leq k\leq 20, 10^8\leq P\leq 10^9+9)$$$, whose meaning is already clear in the statement.

It is guaranteed that $$$P$$$ is a prime.

Output

Output an integer in one line, denoting the answer.

Examples
Input
3 1 1000000007
Output
15
Input
100 3 1000000007
Output
894710378
Input
6 6 1000000007
Output
103387851
Input
2 6 998244353
Output
729