Bobo 正在参加一场奇怪的锦标赛,共有 $2n$ 名选手,编号为 $1$ 到 $2n$。最初,所有选手的得分为 $0$。锦标赛共包含 $k$ 轮,每一轮中,选手们会被两两配对进行一对一的比赛。
计分机制如下:每场比赛结束后,得分较高的选手扣 $1$ 分,得分较低的选手加 $1$ 分。如果两名选手的得分相同,则编号较小(即数字较小)的选手被视为获胜者并加 $1$ 分,另一名选手扣 $1$ 分。
为了确保平衡并使锦标赛更加精彩,主办方决定,在锦标赛的任何时刻,任何选手的得分绝对值都不得超过 $3$。给定这些规则,Bobo 想要确定安排这 $k$ 轮比赛的所有可能方式的数量。
由于答案可能非常大,你需要输出答案对一个给定的质数 $P$ 取模后的结果。
输入格式
输入的第一行包含三个整数 $n, k, P$ ($1 \le n \le 400, 1 \le k \le 20, 10^8 \le P \le 10^9 + 9$),其含义已在题目描述中说明。
保证 $P$ 是一个质数。
输出格式
输出一行一个整数,表示答案。
样例
样例输入 1
3 1 1000000007
样例输出 1
15
样例输入 2
100 3 1000000007
样例输出 2
894710378
样例输入 3
6 6 1000000007
样例输出 3
103387851
样例输入 4
2 6 998244353
样例输出 4
729