#abc230h. [abc230_h]Bullion

[abc230_h]Bullion

题目描述

Takahashi赢得了一个夹娃娃机的比赛,并被授予了"随意装填"的金块。
这里有无限数量的金块,每个金块重量为w1,w2,,wKw_1, w_2, \dots, w_K千克,还有无限数量的袋子,每个袋子重量为1千克。

Takahashi可以带回家一个非空的袋子。
一个袋子可以包含零个或多个其他非空袋子和零个或多个金块。

在安排了一个最大载重量为WW千克的卡车之后,他对于如何装填金块并带回家一个总重量为w=2,3,,Ww=2, 3, \dots, W的袋子的方式数量感兴趣。
对于每个w=2,3,,Ww=2, 3, \dots, W,找到袋子的可能状态数,模998244353998244353。这里,

  • 当两个金块的重量相同时,它们被认为是相同的;
  • 当两个袋子中的袋子和金块的多重集合相同时,它们被认为处于相同的状态。

约束条件

  • 2W2.5×1052 \leq W \leq 2.5 \times 10^5
  • 1KW1 \leq K \leq W
  • 1wiW1 \leq w_i \leq W (1iK)(1 \leq i \leq K)
  • ijwiwji \neq j \to w_i \neq w_j (1i,jK)(1 \leq i,j \leq K)
  • 输入中的所有值都是整数。

输入

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

WW KK w1w_1 w2w_2 \dots wKw_K

输出

W1W-1行中打印答案。
ii行应包含w=i+1w=i+1的计数。


示例输入1

4 1
1

示例输出1

1
2
4

下图列举了当w=2,3,4w=2, 3, 4时袋子的可能状态。(圆圈表示一个袋子)

image


示例输入2

10 10
1 2 3 4 5 6 7 8 9 10

示例输出2

1
3
7
18
45
121
325
904
2546