4333: 取数

时间限制:100 ms 内存限制:128 MB
上传者:
提交:0 通过:0

题目描述

有一个集合 SS ,其中元素包含 11nn 中的所有整数,请问在 SS 的子集中(包括空集和自己本身),有多少个子集的其中元素之和可以被 mm 整除?
注意:
1.空集中所有元素的和为 00
2.本题时间限制为100ms。
样例解释
n=2n=2 时, S={1,2}S=\{ 1,2 \}SS 的子集有 ,{1},{2},{1,2}\emptyset ,\{ 1 \}, \{ 2 \} , \{ 1,2 \},和分别为0,1,2,30,1,2,3,满足整除 m=2m=2 的集合有 22 个,分别为 ,{2}\emptyset ,\{ 2 \}

输入格式

输入两个正整数 nnmm
其中 1n10181\le n \le 10^{18}1mn1\le m\le n
保证 n n mm 的倍数,且 mm 为质数。 

输出格式

输出一个数字,代表符合要求的子集的个数,由于答案可能特别大,请输出答案对 998244353998244353 取模的结果。

输入样例 复制

2 2

输出样例 复制

2

数据范围与提示

样例解释,如题干所示