计算长度为 $n$ 且由 $-1$ 和 $1$ 组成的序列中,最大子段和为 $k$ 的序列个数。对于所有 $0$ 到 $n$ 之间的 $k$ 求解此问题,并输出模 $998\,244\,353$ 后的答案。空子段也需要被考虑。
输入格式
输入包含一个整数 $n$ ($1 \le n \le 5 \cdot 10^5$)。
输出格式
输出 $n + 1$ 个模 $998\,244\,353$ 后的整数:分别对应 $k = 0, 1, \dots, n$ 的答案。
样例
输入样例 1
1
输出样例 1
1 1
输入样例 2
2
输出样例 2
1 2 1
输入样例 3
3
输出样例 3
1 4 2 1
输入样例 4
7
输出样例 4
1 33 41 28 14 8 2 1
说明
在第三个样例中,$n = 3$,其最大子段和:
- $(-1, -1, -1)$ 的最大子段和为 $0$;
- $(1, -1, -1)$、$(-1, 1, -1)$、$(-1, -1, 1)$ 和 $(1, -1, 1)$ 的最大子段和为 $1$;
- $(1, 1, -1)$ 和 $(-1, 1, 1)$ 的最大子段和为 $2$;
- $(1, 1, 1)$ 的最大子段和为 $3$。