#ATfps24g. Coin

Coin

AT_fps_24_g 硬貨

题目描述

你有无限个面额分别为 1,2,,M1, 2, \dots, M 日元的硬币。
同一面额的硬币不可区分。

现在给定整数 NNLL。对于每一个 m=1,2,,ML+1m=1,2,\dots,M-L+1,请解决以下问题:

  • 你可以自由使用面额为 m,m+1,,m+L1m, m+1, \dots, m+L-1 的硬币。
    (严格来说,你可以使用所有满足 mxm+L1m \leq x \leq m+L-1 的面额为 xx 的硬币。)
    请你求出用这些硬币凑出恰好 NN 日元的方法数,并对 998244353998244353 取模。

如果存在至少一个面额所用硬币数不同,则两种支付方法被认为是不同的。

输入格式

输入从标准输入按以下格式给出:

NN MM LL

输出格式

输出共 ML+1M-L+1 行,第 ii 行输出 m=im=i 时的答案。

输入输出样例 #1

输入 #1

5 3 2

输出 #1

3
1

输入输出样例 #2

输入 #2

5000 2500 2495

输出 #2

878712345
520404421
886134625
125526485
307727973
257205353

说明/提示

样例解释 1

对于 m=1m=1,可用面额为 1122 的硬币,总共有 33 种支付 55 日元的方法:

  • 5511 日元硬币。
  • 3311 日元和 1122 日元。
  • 1111 日元和 2222 日元。

对于 m=2m=2,可用面额为 2233 的硬币,总共有 11 种方式:

  • 1122 日元和 1133 日元。

数据范围

  • 1LMN50001 \leq L \leq M \leq N \leq 5000
  • N,M,LN, M, L 均为整数。

由 ChatGPT 5 翻译