AT_npcapc_2024_b Some Sum of Subset
Description
長さ $ N $ の正整数列 $ A=(A_1,A_2,\dots,A_N) $ が与えられます。 $ k=0,1,\dots,N $ について以下の問題を解いてください。
> $ \lbrace 1,2,\dots,N\rbrace $ の部分集合 $ S $ であって以下の条件を満たすものの個数を $ 998244353 $ で割ったあまりを求めてください。
>
> - $ \left\vert T\right\vert=\left\vert S\right\vert-k $ を満たす $ S $ の部分集合 $ T $ であって $ \sum_{i \in T}A_{i}\ge M $ を満たすものが存在する。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $
Output Format
$ N+1 $ 行に渡って出力せよ。 $ i(1\le i\le N+1) $ 行目には、 $ k=i-1 $ の場合の答えを出力すること。
Explanation/Hint
### Sample Explanation 1
$ k=1 $ のときを例に挙げて説明します。
- $ S=\lbrace 1,3,4\rbrace $ は、 $ T=\lbrace 3,4\rbrace $ とすると $ \left\vert T\right\vert=\left\vert S\right\vert-1 $ かつ $ \sum_{i\in T} A_i \ge 7 $ となるため条件を満たします。
他には、 $ S=\lbrace 1,2,3\rbrace,\lbrace 2,3,4\rbrace,\lbrace 1,2,3,4\rbrace $ の $ 3 $ 個が条件を満たします。よって、 $ k = 1 $ のとき答えは $ 4 $ です。
### Constraints
- $ 1 \le N \le 3000 $
- $ 1 \le M \le 3000 $
- $ 1 \le A_i \le 3000 $