T209459 超级括号序列 加强版

题目背景

小 U 最近参加了 CSP-S 2021。 他在考场上花了一分钟阿克了,一看发现 T2 的 14~15 明显可以加 0,又花了一分钟写掉了这道题,现在他想考考你。

题目描述

对于某个给定的常数 $k$,“超级括号序列”的定义如下: 1. $\texttt{()}$,$\texttt{(S)}$ 都是符合规范的超级括号序列,其中 $S$ 表示任意一个仅由不超过 $k$ 个字符 $\texttt{*}$ 组成的非空字符串(以下两条规则中的 $S$ 均为此含义); 2. 如果字符串 $A$ 和 $B$ 均为符合规范的超级括号序列,那么字符串 $AB$、$ASB$ 均为符合规范的超级括号序列,其中 $AB$ 表示把字符串 $A$ 和字符串 $B$ 拼接在一起形成的字符串; 3. 如果字符串 $A$ 为符合规范的超级括号序列,那么字符串 $\texttt{(A)}$、$\texttt{(SA)}$、$\texttt{(AS)}$ 均为符合规范的超级括号序列。 4. 所有符合规范的超级括号序列均可通过上述 3 条规则得到。 例如,若 $k=3$,则字符串 $\texttt{((**()*(*))*)(***)}$ 是符合规范的超级括号序列,但字符串 $\texttt{*()}$、$\texttt{(*()*)}$、$\texttt{((**))*)}$、$\texttt{(****(*))}$ 均不是。特别地,空字符串也不被视为符合规范的超级括号序列。 给定 $n,k$,对 $i=1\sim n$,分别求出长度为 $i$ 的超级括号序列。 由于答案可能太大,所以你只需要输出答案对 $998244353$ 取模的值即可。

输入格式

一行两个正整数 $n,k$,表示 $n,k$ 的值。

输出格式

一行 $n$ 个正整数,表示答案。

说明/提示

对 $10\%$ 数据,$1\le k\le n\le 100$。 对 $20\%$ 数据,$1\le k\le n\le 500$。 对 $30\%$ 数据,$1\le k\le n\le 5000$。 对 $100\%$ 数据,$1\le k\le n\le 5\times 10^5$。