CF2060F Multiplicative Arrays

题目描述

给定两个正整数 $ k $ 和 $ n $ ,对于 $ 1 $ 到 $ k $ 之间的每个整数 $ x $ ,你需要计算有多少个数列 $ a $ 满足以下的条件: - $ 1 \leq |a| \leq n $ ,其中 $ |a| $ 代表数列 $ a $ 的长度。 - $ 对于每个 1 \leq i \leq |a| , 1 \leq a_i \leq k $ 。 - $ a_1 \times a_2 \times \dots \times a_{|a|}=x $ (就是说, $ a $ 的所有元素之积为 $ x $ )。 注意,两个数列 $ b $ 和 $ c $ 被认为是是不同的当且仅当它们的长度不同或存在一个位置 $ 1 \leq i \leq |b| $ 使得 $ b_i\neq c_i $ 。 输出答案求余 $ 998\,244\,353 $ 后的结果。

输入格式

第一行输入一个正整数 $ t $ ( $ 1 \leq t\leq 10^3 $ ) 表示测试数据组数。 对于每组数据,只输入一行两个正整数 $ k $ 和 $ n $ ( $ 1 \leq k \leq 10^5,1\leq n \leq 9\cdot 10^8 $ )。 保证所有 $ k $ 的和不超过 $ 10^5 $ 。

输出格式

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

说明/提示

In the first test case, there are $ 2 $ arrays $ a $ with $ |a|\leq 2 $ and the product of elements equal to $ 1 $ : - $ [1] $ - $ [1,1] $ There are $ 3 $ arrays $ a $ with $ |a|\leq 2 $ and the product of elements equal to $ 2 $ : - $ [2] $ - $ [1,2] $ - $ [2,1] $