#28529. Chip Move

Chip Move

题目描述

在数轴上有一个棋子。初始时,棋子位于点 00。你可以进行任意次数的移动;每次移动会使棋子的坐标增加某个正整数(称为这次移动的长度)。第一次移动的长度必须能被 kk 整除,第二次移动的长度必须能被 k+1k+1 整除,第三次移动的长度必须能被 k+2k+2 整除,依此类推。

例如,如果 k=2k=2,则移动序列可能如下:$0 \rightarrow 4 \rightarrow 7 \rightarrow 19 \rightarrow 44$,因为 40=44-0=4 能被 2=k2=k 整除,74=37-4=3 能被 3=k+13=k+1 整除,197=1219-7=12 能被 4=k+24=k+2 整除,4419=2544-19=25 能被 5=k+35=k+3 整除。

给定两个正整数 nnkk。你的任务是,对于每个 x[1,n]x \in [1, n],计算从 00 出发到达点 xx 的方案数。方案数可能非常大,请对 998244353998244353 取模输出。若两种方案经过的位置集合不同,则认为它们是不同的方案。

输入格式

输入的第一行包含两个整数 nnkk1kn21051 \le k \le n \le 2 \cdot 10^5)。

输出格式

输出 nn 个整数,第 ii 个数表示从 00 出发到达点 ii 的方案数,对 998244353998244353 取模。

8 1
1 1 2 2 3 4 5 6
10 2
0 1 0 1 1 1 1 2 2 2

说明/提示

我们来看第一个例子:

到达点 11 的方案:[0,1][0, 1]

到达点 22 的方案:[0,2][0, 2]

到达点 33 的方案:[0,1,3][0, 1, 3][0,3][0, 3]

到达点 44 的方案:[0,2,4][0, 2, 4][0,4][0, 4]

到达点 55 的方案:[0,1,5][0, 1, 5][0,3,5][0, 3, 5][0,5][0, 5]

到达点 66 的方案:[0,1,3,6][0, 1, 3, 6][0,2,6][0, 2, 6][0,4,6][0, 4, 6][0,6][0, 6]

到达点 77 的方案:[0,2,4,7][0, 2, 4, 7][0,1,7][0, 1, 7][0,3,7][0, 3, 7][0,5,7][0, 5, 7][0,7][0, 7]

到达点 88 的方案:[0,3,5,8][0, 3, 5, 8][0,1,5,8][0, 1, 5, 8][0,2,8][0, 2, 8][0,4,8][0, 4, 8][0,6,8][0, 6, 8][0,8][0, 8]