#P13007. [AGC035E] Develop
[AGC035E] Develop
题目描述
黑板上写有从 到 的每一个整数各一个。高桥君可以任意多次(包括 次)重复以下操作:
- 从黑板上选择一个 到 之间的整数,记为 ,并将其从黑板上擦去。
- 如果 不在黑板上,则将 写到黑板上。
- 如果 不在黑板上,则将 写到黑板上。
经过若干次操作后,问黑板上可能出现的整数集合有多少种不同的情况。请输出这个数对 取模的结果。
如果存在某个整数只出现在其中一个集合中,则认为两个集合不同。
输入格式
输入为一行,包含三个整数:
输出格式
输出经过若干次操作后,黑板上可能出现的整数集合的种数对 取模的结果。
输入输出样例 #1
输入 #1
3 1 998244353
输出 #1
7
输入输出样例 #2
输入 #2
6 3 998244353
输出 #2
61
输入输出样例 #3
输入 #3
9 4 702443618
输出 #3
312
输入输出样例 #4
输入 #4
17 7 208992811
输出 #4
128832
输入输出样例 #5
输入 #5
123 45 678901234
输出 #5
256109226
说明/提示
限制条件
- 均为整数
样例解释 1
所有小于等于 或大于等于 的整数,以及包含 中至少一个数的所有集合都满足条件,一共有 种情况。