#P7488. 「Stoi2031」黑色毛衣

    ID: 6844 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>数学组合数学Lucas 定理

「Stoi2031」黑色毛衣

背景

看着那白色的蜻蜓 在空中忘了前进 还能不能 重新编织 脑海中起毛球的记忆 再说我爱你 可能雨也不会停 黑色毛衣 藏在哪里 就让回忆永远停在那里 ——《黑色毛衣》

题目描述

让想起了和雨在一起的时候。由于雨是一个爱玩的女孩子,所以他们有很多玩具,其中就有一种像 白色蜻蜓 一样的玩具,现在留在了让的身边,共有 nn 只。每只 白色蜻蜓 的翅膀长度分别是 1,2,…,n1,2,\dots,n,并且可以张开成 (0,π)(0,\pi) 之间的任意角度。让认为使其中 mm 只 白色蜻蜓 分别张开翅膀使双翅末端的距离都为整数且互不相同的场景是在 编织 一份 记忆。他认为两份 记忆 相同当且仅当可以将 mm 只 白色蜻蜓 按某种方式重排后一一对应使对应的蜻蜓翅膀长度和双翅距离都相等。他想请你告诉他能编织出多少份不同的记忆。你只需要求出答案 ans mod pans\bmod{p} 的值。

输入格式

一行三个正整数 n,m,pn,m,p。

输出格式

一行一个数,表示答案。

32 2 47

36

233 223 1926817

620162

3 1 7
2

提示

简述版题意

求不同的腰长 1≤a≤n1 \le a \le n,底长 1≤b≤2a−11 \le b \le 2a-1 且都为整数,腰长互不相同,底长也互不相同的 mm 个等腰三角形构成的不同组数。两组相同当且仅当可以使 mm 个三角形按某种方式重排后一一对应全等。

样例解释:

限于篇幅,只对样例 33 作解释。

可以 编织 出 1,1,11,1,1,2,2,12,2,1,2,2,22,2,2,2,2,32,2,3,3,3,13,3,1,3,3,23,3,2,3,3,33,3,3,3,3,43,3,4,3,3,53,3,5 共 99 种 记忆,取模 77 后为 22。

本题采用捆绑测试,每个 Subtask 的分数与限制如下。

Subtask No. m≤n≤m \le n \le 特殊限制 分值
11 10310^3 无 1313
22 10610^6 3737
33 101810^{18}
44 pp是质数 1313

对于所有数据, 1≤m≤n≤1018,1≤p≤1051 \le m \le n \le 10^{18},1 \le p \le 10^5,不保证 pp 是质数。