#CF1916H2. 矩阵秩(困难版)

矩阵秩(困难版)

H2. 矩阵秩(困难版)

每个测试点时间限制:22
内存限制:256256 兆字节

这是该问题的困难版本。两个版本之间的唯一区别在于对 kk 的约束不同。只有当两个版本的问题都解决后,你才能进行 hack。

给定整数 nnppkk。保证 pp 是素数。

对于每个 rr00kk,求在模 pp 的整数域† 上,所有 n×nn \times n 矩阵 AA 中,秩‡ 恰好等于 rr 的矩阵个数。由于这些数值很大,你只需输出它们对 998244353998244353 取模的结果。

域(数学)
秩(线性代数)

输入
第一行包含三个整数 nnppkk1n10181 \le n \le 10^{18}2p<9982443532 \le p < 9982443530k51050 \le k \le 5 \cdot 10^5)。
保证 pp 是素数。

输出
输出 k+1k+1 个整数,分别对应 r=0,1,,kr = 0, 1, \dots, k 时的答案。

示例

输入

3 2 3  

输出

1 49 294 168  

输入

1 51549919 2  

输出

1 51549918 0