AT_abc282_g [ABC282G] Similar Permutation
Description
[problemUrl]: https://atcoder.jp/contests/abc282/tasks/abc282_g
$ (1,2,\ldots,N) $ の順列を、以下では単に順列と呼びます。
二つの順列 $ A=(A_1,A_2,\ldots,A_N),B=(B_1,B_2,\ldots,B_N) $ にたいして、**類似度** を以下の条件を満たす $ 1 $ 以上 $ N-1 $ 以下の整数 $ i $ の個数で定めます。
- $ (A_{i+1}-A_i)(B_{i+1}-B_i)\ >\ 0 $
二つの順列の組 $ (A,B) $ であって、類似度が $ K $ であるものの個数を素数 $ P $ で割ったあまりを答えてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ P $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 2\leq\ N\ \leq\ 100 $
- $ 0\leq\ K\ \leq\ N-1 $
- $ 10^8\ \leq\ P\ \leq\ 10^9 $
- $ P $ は素数
- 入力は全て整数である
### Sample Explanation 1
例えば条件を満たす順列の組の一つとして、以下のものが考えられます。 - $ A=(1,2,3) $ - $ B=(1,3,2) $ この例では、$ (A_2\ -\ A_1)(B_2\ -B_1)\ >\ 0,\ (A_3\ -\ A_2)(B_3\ -B_2)\