【题目描述】
有 T 组测试数据。
给定正整数 N,定义 QN={⌊xN⌋:x∈Z,1≤x≤N}。
将 $ Q_N $ 中的元素按升序排列,得到的序列记为 (a0,a1,…,ak−1)。
对于序列 $ f, g \colon \mathbb{N} \to \mathbb{Z} $,定义到每个 $ x \in Q_N $ 为止的累积和(前缀和)为
fx=n=1∑xf(n),gx=n=1∑xg(n).
在此基础上,对由
hx=n=1∑xij=n∑f(i)g(j)mod998244353
定义的狄利克雷卷积 $ h=f * g $,求出到每个 $ x \in Q_N $ 为止的累积和。
【输入】
文本
$T$
$case_1$
$\vdots$
$case_T$
每组测试数据按如下格式给出。
文本
$N$
$f_{a_0}$ $f_{a_1}$ $\ldots$ $f_{a_{k-1}}$
$g_{a_0}$ $g_{a_1}$ $\ldots$ $g_{a_{k-1}}$
【输出】
文本
$h_{a_0}$ $h_{a_1}$ $\ldots$ $h_{a_{k-1}}$
【输入样例】
文本
1
10
900438954 64058583 6797783 744374928 664936316
581974831 124314739 271644977 165153518 199742098
【输出样例】
文本
771200748 228317628 604103983 124229389 494883461
【数据范围】
- 1≤N≤1000000000000
- 1≤fx,gx<998244353
- 若 T>1,则 T=10000,且对每个 N=1,2,…,10000 恰好有一组测试数据。
【来源】
Library Checker(yosupo06) dirichlet_convolution_and_prefix_sums