Dada una matriz de enteros $A$ de tamaño $n \times m$, un máximo local de $A$ es una ubicación $(i, j)$ ($1 \le i \le n$ y $1 \le j \le m$) tal que $A_{i,j}$ no es menor que cualquier otro entero en la fila $i$-ésima o en la columna $j$-ésima.
Por ejemplo, en la matriz de $3 \times 3$ $$ \begin{bmatrix} 2 & 5 & 4 \\ 2 & 1 & 6 \\ 2 & 2 & 2 \end{bmatrix}, $$ hay tres máximos locales: las ubicaciones $(1, 2)$, $(2, 3)$ y $(3, 1)$ con valores 5, 6 y 2, respectivamente.
Una matriz de enteros $A$ de tamaño $n \times m$ es buena si y solo si satisface las siguientes dos condiciones:
- Hay exactamente un máximo local en $A$.
- Cada entero desde 1 hasta $n \times m$ aparece exactamente una vez en $A$.
Dados $n$, $m$ y un número primo $P$, su tarea es contar el número de matrices buenas de tamaño $n \times m$ módulo $P$.
Entrada
La primera línea contiene tres enteros, $n$, $m$ y $P$, donde $1 \le n, m \le 3000$ y $10^8 \le P \le 10^9 + 7$. Se garantiza que $P$ es primo.
Salida
Imprima una sola línea con un único entero: el número de matrices buenas módulo $P$.
Ejemplos
Entrada 1
2 2 1000000007
Salida 1
16
Entrada 2
4 3 1000000007
Salida 2
95800320
Entrada 3
100 100 998244353
Salida 3
848530760