你拥有一款名为“Beautiful Sequence Unraveler (BSU)”的强大工具。该工具专门处理“优美序列”。一个优美序列是指一个由 $n$ 个整数组成的数组 $a_1, a_2, \dots, a_n$,且满足以下条件:不存在任何整数 $i$ 满足 $1 \le i < n$ 且 $\max\{a_1, \dots, a_i\} = \min\{a_{i+1}, \dots, a_n\}$。
BSU 处理优美序列的能力很强,但你不知道这类序列出现的频率。因此,你想要计算在所有长度为 $n$、且元素均在 $1$ 到 $k$ 之间(包含 $1$ 和 $k$)的数组中,优美序列的数量。由于该数量可能很大,你需要将其对质数 $p$ 取模。
输入格式
仅一行,包含三个整数 $n, k, p$ ($1 \le n \le 400, 1 \le k \le 10^8, 998\,244\,353 \le p \le 10^9 + 9$)。
保证 $p$ 为质数。
输出格式
输出该问题的答案对 $p$ 取模的结果。
样例
样例输入 1
2 2 1000000007
样例输出 1
2
样例输入 2
3 4 1000000009
样例输出 2
36
样例输入 3
228 112263 998244353
样例输出 3
379700769