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] $