#P5850. calc加强版

    ID: 6475 远端评测题 3000ms 256MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>数学集训队互测O2优化生成函数快速傅里叶变换 FFT

calc加强版

背景

原题链接

题目描述

一个序列 a1,⋯ ,ana_1,\cdots,a_n 是合法的,当且仅当:

长度为给定的 nn。

a1,⋯ ,ana_1,\cdots,a_n 都是 [1,k][1,k] 中的整数。

a1,⋯ ,ana_1,\cdots,a_n 互不相等。

一个序列的值定义为它里面所有数的乘积,即 a1×a2×⋯×ana_1\times a_2\times\cdots\times a_n 。

求所有不同合法序列的值的和。

两个序列不同当且仅当他们任意一位不一样。

输出答案对 998244353998244353 取余的结果。

输入格式

一行两个数 k,mk,m。

输出格式

共 mm 行,第 i(1≤i≤m)i(1\le i\le m) 行表示 n=in=i 时的答案。

13 8
91
7462
546546
35387352
3869654
396558319
363789591
879373476

提示

subtask 1 (84 pts)\text{subtask 1 (84 pts)}:1≤m≤5001\le m\le 500

subtask 2 (16 pts)\text{subtask 2 (16 pts)}:1≤m≤5×1051\le m\le 5\times 10^5,建议使用高效输出方式。

对所有数据,1≤m≤k≤9982443521\le m\le k\le 998244352。