#ATabc282g. [ABC282G] Similar Permutation

[ABC282G] Similar Permutation

题目描述

(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),定义它们的相似度为满足以下条件的 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 取模后输出。

输入格式

输入为标准输入,格式如下:

NN KK PP

输出格式

请输出答案。

样例 1

输入

3 1 282282277

输出

16

样例 2

输入

50 25 998244353

输出

131276976

说明/提示

限制条件

  • 2N1002 \leq N \leq 100
  • 0KN10 \leq K \leq N-1
  • 108P10910^8 \leq P \leq 10^9
  • PP 是素数
  • 输入均为整数

样例解释 1

例如,满足条件的一个排列对如下:

  • 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

样例解释 2

请对个数取 PP 的余数后输出。

由 ChatGPT 4.1 翻译