The Child and Binary Tree
题号:NC231478
时间限制:C/C++/Rust/Pascal 6秒,其他语言12秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

我们的小朋友很喜欢计算机科学,而且尤其喜欢二叉树。 考虑一个含有 n 个互异正整数的序列 。如果一棵带点权的有根二叉树满足其所有顶点的权值都在集合 中,我们的小朋友就会将其称作神犇的。
并且他认为,一棵带点权的树的权值,是其所有顶点权值的总和。
给出一个整数 m,你能对于任意的 计算出权值为 s 的神犇二叉树的个数吗?请参照样例以更好的理解什么样的两棵二叉树会被视为不同的。 我们只需要知道答案关于 998244353 取模后的值。

输入描述:

输入第一行有 2 个整数 n,m 。 
第二行有 n 个用空格隔开的互异的整数

输出描述:

输出 m 行,每行有一个整数。第 i 行应当含有权值恰为 i 的神犇二叉树的总数。请输出答案关于 998244353 取模的结果。
示例1

输入

复制
2 3
1 2

输出

复制
1
3
9

说明

有9个权值恰好为3的神犇二叉树:
示例2

输入

复制
3 10
9 4 3

输出

复制
0
0
1
1
0
2
4
2
6
15
示例3

输入

复制
5 10
13 10 6 4 15

输出

复制
0
0
0
1
0
1
0
2
0
5

备注:

原题链接:https://codeforces.com/problemset/problem/438/E