AT_kupc2024_i I Hate Xor Sum

Description

正整数 $ N,M $ が与えられます。 非負整数からなる長さ $ N $ の数列 $ A $ について、次を満たす非負整数 $ X_{i,j}\ (1\leq j\leq i\leq N) $ が一意に存在します。 - $ X_{i,1}=A_i\ (1\leq i\leq N) $ - $ X_{i,j}=X_{i-1,j-1}\oplus X_{i,j-1}\ (2\leq j\leq i\leq N) $ ただし $ \oplus $ はビットごとの排他的論理和を表します。 このとき $ \sum_{i=1}^{N}\sum_{j=1}^{i}X_{i,j} $ の値を $ A $ の **スコア** とします。 $ S=1,2,\dots,M $ のそれぞれに対し、非負整数からなる長さ $ N $ の数列で総和が $ S $ であるもの全てについてのスコアの総和を $ 998244353 $ で割ったあまりを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N\ M $

Output Format

$ M $ 行にわたって出力せよ。 $ i\ (1\leq i\leq M) $ 行目には $ S=i $ のときの答えを出力せよ。

Explanation/Hint

### 部分点 この問題には複数の部分点が設定されている。 - $ N \leq 3000, M = 1 $ を満たすデータセットに正解した場合 $ 1 $ 点が与えられる。 - $ N \leq 10^6, M = 1 $ を満たすデータセットに正解した場合追加で $ 1 $ 点が与えられる。 ### Sample Explanation 1 例えば $ A=(0,1,0,0) $ のとき $ X_{i,j} $ は以下のようになりスコアは $ 5 $ です。 - $ X_{1,1}=0 $ - $ X_{2,1}=1,X_{2,2}=1 $ - $ X_{3,1}=0,X_{3,2}=1,X_{3,3}=0 $ - $ X_{4,1}=0,X_{4,2}=0,X_{4,3}=1,X_{4,4}=1 $ ### Sample Explanation 2 $ 998244353 $ で割ったあまりを出力してください。 ### Constraints - $ 1\leq N\leq 10^{9} $ - $ 1\leq M\leq 10^{5} $ - 入力は全て整数