Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:1024 MB
Statistics

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$ 为质数。