#P9084. [PA2018] Skwarki

[PA2018] Skwarki

题目描述

题目译自 PA 2018 Runda 5 Skwarki

求有多少种长度为 N N 的满足以下条件的序列 :

  • 1N 1 \sim N N N 个数在序列中各出现了一次;
  • 至少进行 KK 次操作后,该序列才只含有 11 个元素。

下面对操作进行描述:

AiA_i 为序列中的第 ii 个元素(1<i<len1 < i < \mathrm{len}len\mathrm{len} 为序列长度),若 Ai1>AiA_{i-1} > A_{i}Ai+1>AiA_{i+1} > A_{i} 则标记 AiA_i 。 若 A2>A1A_2 > A_1 则标记 A1A_1 , 若 Alen1>AlenA_{\mathrm{len}-1} > A_{\mathrm{len}} 则标记 AlenA_{\mathrm{len}}

然后,将有标记的元素从序列中删除。

满足条件的序列可能很多,所以请将结果对 PP 取模。

输入格式

输入仅一行,包含三个整数 N,K,PN,K,P

输出格式

输出一行一个整数,表示满足条件的序列个数对 PP 取模的结果。

5 3 100000007
4

提示

样例 1 解释

所有满足条件的序列列举如下:

  • (4,1,3,2,5)(4,1,3,2,5)
  • (4,2,3,1,5)(4,2,3,1,5)
  • (5,1,3,2,4)(5,1,3,2,4)
  • (5,2,3,1,4)(5,2,3,1,4)

数据范围

本题采用捆绑测试

对于 100%100\% 的数据,保证 1K,N10001 \le K,N \le 1000 , N2N \ge 2 , 108P10910^8 \le P \le 10^9