波峰交叉 k 序列
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给定正整数 m,对于两个长度为 nn 为奇数)的序列 A,B,若其满足如下条件,则称这两个序列为波峰交叉 k 序列对:
  • 对于 \forall i\in[1,n]1\leq A_i\leq m1\leq B_i\leq m
  • A_{\frac{n+1}{2}}=B_{\frac{n+1}{2}}
  • 对于序列 AB 都有恰好 k 个波峰。
 对于一个长度为 n 的序列 a,其波峰含义为:
 对于某个位置 i(1<i<n),有 a_i>a_{i-1}a_i>a_{i+1},那么 i 就称为 a 的一个波峰。

现在 jackle 问你,对于所有 k\in[0,n] 有多少种不同波峰交叉 k 序列对,答案对 998244353 取模。

输入描述:

输入 2 个整数 n,m(1\leq n,m\leq 300),保证 n 为奇数。

输出描述:

在一行内输出 n + 1 个数,表示对于所有 k\in[0,n] ,有多少种不同波峰交叉 k 序列对。
示例1

输入

复制
3 3

输出

复制
170 17 0 0