B
题目描述
给出素数 $p$。对于序列 $a$,定义其权值为最小的 $k>0$ 使得 $a$ 在模 $p$ 意义下的的 $k$ 阶前缀和为 $a$。特别地,若不存在这样的 $k$,则 $a$ 的权值为 $0$。
求长度为 $n$,每个元素在 $[0,p)$ 中的整数序列的权值的期望,对 $998244353$ 取模。
输入格式
输入一行两个整数 $n,p$,以空格隔开。
输出格式
输出一行一个整数,表示所有整数序列的权值的期望对 $998244353$ 取模后的结果。
样例
样例输入 #1
2 2
样例输出 #1
499122178
样例输入 #2
4 5
样例输出 #2
543044933
样例输入 #3
1000 19001
样例输出 #3
724295988
样例输入 #4
987831351 843547567
样例输出 #4
861261240
样例 $1$ 解释
序列 $\{0,0\}$ 的权值是 $1$,序列 $\{0,1\}$ 的权值是 $1$,序列 $\{1,0\}$ 的权值是 $2$,序列 $\{1,1\}$ 的权值是 $2$。
数据范围与约定
本题采用捆绑测试。
子任务编号 | $n\le$ | $p\le$ | 分值 |
---|---|---|---|
$1$ | $5$ | $11$ | $20$ |
$2$ | $998244352$ | $2$ | $25$ |
$3$ | $10^5$ | $998244352$ | $25$ |
$4$ | $998244352$ | $998244352$ | $30$ |
对于 $100\%$ 的数据,$1\le n,p<998244353$,保证 $p$ 为质数。