#10000214. 【ABC378】G - Everlasting LIDS

内存限制:1024 MiB 时间限制:4000 ms 标准输入输出
题目类型:传统 评测方式:无测试数据
上传者: Holmium_Oxide

题目描述

の順列 であって、以下の条件を全て満たすものは何通りありますか?個数を で割ったあまりを求めてください。
给定一个序列 的排列 ,满足以下所有条件的排列有多少种?计算这些排列的数量除以 后的余数。

  •  の最長増加部分列の長さは 
    的最长上升子序列的长度是
  •  の最長減少部分列の長さは 
    的最长下降子序列的长度是
  • 整数  であって、 の末尾に  を追加しても最長増加部分列の長さも最長減少部分列の長さも変化しないようなものが存在する
    存在整数 ,使得在 的末尾添加 不会使最长上升子序列的长度和最长下降子序列的长度发生变化。

输入格式

入力 | 输入

入力は以下の形式で標準入力から与えられる。
输入从标准输入按照如下规则给出:

输出格式

出力 | 输出

条件を満たす順列の個数を で割ったあまりを出力せよ。
输出满足条件的排列的个数除以 的余数。

样例

入力例 1 | 输入样例 1

3 2 998244353

出力例 1 | 输出样例 1

10

例えば、 は条件を満たします。これは以下のようにして確認できます。 例如,序列 满足条件。可以通过以下证明:

  •  の最長増加部分列の長さは 
    的最长上升子序列的长度为
  •  の最長減少部分列の長さは 
    的最长下降子序列的长度为
  •  とすると、 の最長増加部分列の長さは  かつ最長減少部分列の長さは 
    若设 ,则序列 的最长上升子序列的长度为 ,且最长下降子序列的长度为
    条件を満たす  の順列は  通りです。
    满足条件的 的排列共有 种。

入力例 2 | 输入样例 2

10 12 924844033

出力例 2 | 输出样例 2

623378361

個数を で割ったあまりを出力してください。
输出个数除以 的余数即可。

数据范围与提示

制約 | 约定

  • 入力される数値は全て整数 输入的数值均为整数
  • は素数  为质数