CF2060F Multiplicative Arrays
题目描述
给定两个正整数 k 和 n ,对于 1 到 k 之间的每个整数 x ,你需要计算有多少个数列 a 满足以下的条件:
- 1≤∣a∣≤n ,其中 ∣a∣ 代表数列 a 的长度。
- 对于每个1≤i≤∣a∣,1≤ai≤k 。
- a1×a2×⋯×a∣a∣=x (就是说, a 的所有元素之积为 x )。
注意,两个数列 b 和 c 被认为是是不同的当且仅当它们的长度相等或存在一个位置 1≤i≤∣b∣ 使得 bi=ci 。
输出答案求余 998244353 后的结果。
输入格式
第一行输入一个正整数 t ( 1≤t≤103 ) 表示测试数据组数。
对于每组数据,只输入一行两个正整数 k 和 n ( 1≤k≤105,1≤n≤9⋅108 )。
保证所有 k 的和不超过 105 。
输出格式
对于每组数据,换行输出 k 个用空格分隔的正整数:当 x=1,2,…,k 时数列的数量,答案取模 998244353 .
输入输出样例 1
3
2 2
4 3
10 6969420
2 3
3 6 6 10
6969420 124188773 124188773 729965558 124188773 337497990 124188773 50981194 729965558 337497990