问题 5142 --天晨跑步减肥

5142: 天晨跑步减肥★★★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 43  解决: 18
[提交][状态][命题人:]

题目描述

天晨这个暑假一直在减肥,每天早上从江滨公园东端走到西端。

最初,天晨位于最东端,假设坐标为0。他可以执行任意数量的移动,每次移动后会休息;每次移动都会往西走一段,增加一个正整数的移动长度。第一个休息点的长度应该可以被k整除,第二个休息点的长度可以被k+1整除,而第三个休息点的长度则可以被k+2整除,依此类推。

例如,如果k=2,则移动顺序可能如下所示:0→4→7→19→44,因为4−0=4可被2=k整除,7−4=3可被3=k+1整除,19−7=12可被4=k+2整除,44−19=25可被5k+3整除。

给你两个正整数nk。你的任务是计算从0开始,到达x点的不同休息点选择的方法数,x∈[1n]。方法的数量可能非常大,因此模998244353后进行打印。如果两种休息点选择有不同之处,则视为不同走法。

输入

第一(也是唯一)行包含两个整数nk1≤k≤n≤2*105)

输出

打印n个整数-0开始,到达点x的不同走法,x∈[1n],并模998244353

样例输入
Copy
8 1
样例输出
Copy
1 1 2 2 3 4 5 6 

提示

样例2输入

10 2

样例2输出

0 1 0 1 1 1 1 2 2 2

针对样例1

到达点1[0,1];

到达点2[0,2];

到达点3[0,1,3], [0,3];

到达点4[0,2,4], [0,4];

到达点5[0,1,5], [0,3,5], [0,5];

到达点6[0,1,3,6], [0,2,6], [0,4,6], [0,6];

到达点7[0,2,4,7], [0,1,7], [0,3,7], [0,5,7], [0,7];

到达点8[0,3,5,8], [0,1,5,8], [0,2,8], [0,4,8], [0,6,8], [0,8]

来源

[提交][状态]