CSPSMK06C. 算

提交3 通过2
通过率66.7%
文件IO启用
输入文件suan.in
输出文件suan.out
时间限制1000ms
内存限制1024MiB
    ID: 14545 传统题 文件IO 输入文件:suan.in 输出文件:suan.out 1000ms 1024MiB 尝试: 3 已通过: 2 难度: 提高 上传者: 标签>C++CSP-S考前模拟

题目描述

题目描述

初始时有一个长度为 NN 的全零序列 AA,你可以执行以下两种操作若干次:

  • 选择一个长度为 KK 的子区间 [l:r][l:r],将区间内所有元素 +1+1。

  • 选择一个位置 1≤i≤n1 \leq i \leq n,将 AiA_i 修改为 Ai+KA_i+K。

若最终所有元素之和为 MM,请问可以得到多少种序列 AA,答案对 998244353998244353 取模。

输入格式

给出三个正整数 N,M,KN,M,K。

输出格式

输出一个整数,表示答案。

输入样例 #1

3 2 2

输出样例 #1

5

输入样例 #2

50 150 3

输出样例 #2

691165258

说明提示

【样例 1 解释】

可以得到 [2,0,0][0,2,0][0,0,2][1,1,0][0,1,1][2,0,0][0,2,0][0,0,2][1,1,0][0,1,1]。

输入样例 #3

413 620292 4

输出样例 #3

815419349

数据范围

测试点编号 N,K≤N,K \leq M≤M \leq
11 5050
2,32,3 500500 101810^{18}
4,54,5 50005000

保证 MM 为 KK 的倍数。