#236. 奶牛排队
奶牛排队
Description
有 n 头奶牛,身高两两不同。每头奶牛的身高均为不超过 n 的正整数。
现在要让所有奶牛在数轴上排队,要求:
(1)任意一头奶牛所在的坐标必须是不超过 m 的正整数。
(2)任意一头奶牛与其最近的奶牛之间的距离不能小于自己的身高。(注:两头奶牛的距离为它们的坐标差的绝对值。)
问:有多少种不同的排队方案?方案数可能很大,你需要将其 mod p 后输出。
注:两种排队方案不同,当且仅当在两种方案中至少有一头奶牛所在的坐标不同。
Input
一行,三个整数 n, m, p
Output
一个整数,表示答案
Samples
2 4 8
6
100 123456789 998244353
272665596
Sample Hint 1
两头奶牛,若奶牛 1 在坐标 x1,奶牛 2 在坐标 x2,用 (x1, x2) 表示,则共有 6 种方案:
(1, 3), (1, 4), (2, 4), (3, 1), (4, 1), (4, 2)
Data Size
10% 的数据,n ≤ 10, m ≤ 30
30% 的数据,n ≤ 20;
50% 的数据,n ≤ 50;
70% 的数据,m ≤ 10^5;
100% 的数据,n ≤ 100; 1 ≤ m, p ≤ 10 ^ 9。