#abc282g. [abc282_g]Similar Permutation

[abc282_g]Similar Permutation

问题描述

下面给出一个(1,2,ldots,N)(1,2,\\ldots,N)的排列,它被简称为一个排列。

对于两个排列A=(A1,A2,ldots,AN),B=(B1,B2,ldots,BN)A=(A_1,A_2,\\ldots,A_N),B=(B_1,B_2,\\ldots,B_N),我们定义它们的相似度为介于11N1N-1之间的整数ii的数量,满足:

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

求满足相似度为KK的排列对(A,B)(A,B)的数量,对素数PP取模。

约束条件

  • 2leqNleq1002\\leq N \\leq 100
  • 0leqKleqN10\\leq K \\leq N-1
  • 108leqPleq10910^8 \\leq P \\leq 10^9
  • PP是一个素数。
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN KK PP

输出

打印答案。


示例输入1

3 1 282282277

示例输出1

16

例如,下面是满足条件的一对排列。

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

在这里,我们有(A2A1)(B2B1)>0(A_2 - A_1)(B_2 -B_1) > 0(A3A2)(B3B2)<0(A_3 - A_2)(B_3 -B_2) < 0,所以AABB的相似度为11


示例输入2

50 25 998244353

示例输出2

131276976

将答案对PP取模。