Дана целочисленная матрица $A$ размера $n \times m$. Локальный максимум матрицы $A$ — это позиция $(i, j)$ ($1 \le i \le n$ и $1 \le j \le m$), такая что $A_{i,j}$ не меньше любого другого целого числа в $i$-й строке или в $j$-м столбце.
Например, в матрице $3 \times 3$ $$ \begin{bmatrix} 2 & 5 & 4 \\ 2 & 1 & 6 \\ 2 & 2 & 2 \end{bmatrix}, $$ есть три локальных максимума: позиции $(1, 2)$, $(2, 3)$ и $(3, 1)$ со значениями $5$, $6$ и $2$ соответственно.
Целочисленная матрица $A$ размера $n \times m$ называется хорошей тогда и только тогда, когда она удовлетворяет следующим двум условиям: В матрице $A$ ровно один локальный максимум. Каждое целое число от $1$ до $n \times m$ встречается в $A$ ровно один раз.
Даны $n$, $m$ и простое число $P$. Ваша задача — подсчитать количество хороших матриц размера $n \times m$ по модулю $P$.
Входные данные
Первая строка содержит три целых числа $n$, $m$ и $P$, где $1 \le n, m \le 3000$ и $10^8 \le P \le 10^9 + 7$. Гарантируется, что $P$ — простое число.
Выходные данные
Выведите одну строку с единственным целым числом: количество хороших матриц по модулю $P$.
Примеры
Входные данные 1
2 2 1000000007
Выходные данные 1
16
Входные данные 2
4 3 1000000007
Выходные данные 2
95800320
Входные данные 3
100 100 998244353
Выходные данные 3
848530760