#L11250. [GESP202409 八级] 手套配对

[GESP202409 八级] 手套配对

CF2060F Multiplicative Arrays

题目描述

给定两个正整数 k k n n ,对于 1 1 k k 之间的每个整数 x x ,你需要计算有多少个数列 a a 满足以下的条件:

  • 1an 1 \leq |a| \leq n ,其中 a |a| 代表数列 a a 的长度。
  • 对于每个1ia1aik 对于每个 1 \leq i \leq |a| , 1 \leq a_i \leq k
  • a1×a2××aa=x a_1 \times a_2 \times \dots \times a_{|a|}=x (就是说, a a 的所有元素之积为 x x )。

注意,两个数列 b b c c 被认为是是不同的当且仅当它们的长度相等或存在一个位置 1ib 1 \leq i \leq |b| 使得 bici b_i\neq c_i

输出答案求余 998244353 998\,244\,353 后的结果。

输入格式

第一行输入一个正整数 t t ( 1t103 1 \leq t\leq 10^3 ) 表示测试数据组数。

对于每组数据,只输入一行两个正整数 k k n n ( 1k1051n9108 1 \leq k \leq 10^5,1\leq n \leq 9\cdot 10^8 )。

保证所有 k k 的和不超过 105 10^5

输出格式

对于每组数据,换行输出 k k 个用空格分隔的正整数:当 x=12k x=1,2,\ldots,k 时数列的数量,答案取模 998244353 998\,244\,353 .

输入输出样例 1

3
2 2
4 3
10 6969420
2 3
3 6 6 10
6969420 124188773 124188773 729965558 124188773 337497990 124188773 50981194 729965558 337497990