atcoder#ABC282G. [ABC282G] Similar Permutation

[ABC282G] Similar Permutation

配点 : 600600

問題文

(1,2,,N)(1,2,\ldots,N) の順列を、以下では単に順列と呼びます。

二つの順列 A=(A1,A2,,AN),B=(B1,B2,,BN)A=(A_1,A_2,\ldots,A_N),B=(B_1,B_2,\ldots,B_N) にたいして、類似度 を以下の条件を満たす 11 以上 N1N-1 以下の整数 ii の個数で定めます。

  • (Ai+1Ai)(Bi+1Bi)>0(A_{i+1}-A_i)(B_{i+1}-B_i)>0

二つの順列の組 (A,B)(A,B) であって、類似度が KK であるものの個数を素数 PP で割ったあまりを答えてください。

制約

  • 2N1002\leq N \leq 100
  • 0KN10\leq K \leq N-1
  • 108P10910^8 \leq P \leq 10^9
  • PP は素数
  • 入力は全て整数である

入力

入力は以下の形式で標準入力から与えられる。

NN KK PP

出力

答えを出力せよ。

3 1 282282277
16

例えば条件を満たす順列の組の一つとして、以下のものが考えられます。

  • A=(1,2,3)A=(1,2,3)
  • B=(1,3,2)B=(1,3,2)

この例では、$(A_2 - A_1)(B_2 -B_1) > 0, (A_3 - A_2)(B_3 -B_2) < 0$ であることから、AABB の類似度は 11 だとわかります。

50 25 998244353
131276976

個数を PP で割ったあまりを答えてください。