#164. ZJ的数学题

ZJ的数学题

Description

ZJ学姐最近在备战考研的过程中同时备战ecfinal,在之前的课程中学习了Dirichlet\texttt{Dirichlet}卷积。但与图论建图相比,这对她来说太简单了。因此,她做了一些特别的事情。

f,g:{1,2,,n}Zf,g: \{1,2,\ldots,n\} \to \mathbb {Z} 是两个从正整数到整数的函数,则Dirichlet\texttt{Dirichlet}卷积是一个新函数,定义为:

(fg)(n)=dnf(d)g(nd)(f * g)(n) =\sum_{d \mid n}f(d)g ({\frac {n}{d}})

我们定义函数的 kk -次幂 g=fkg=f^k 是 $f^{k}=\underbrace {f * \dots * f} _{k~{\textrm {次}}}。$

在这个问题中,我们想要解决相反的问题:给定 ggkk ,你需要找到一个函数 ff ,使 g=fkg=f^k

此外,还有 f(1)f(1)g(1)g(1) 必须等于 11 的附加约束。所有的算术运算都是在 Fp\mathbb{F}_{p} 上完成的,其中 p=998244353p=998244353 ,这意味着在Dirichlet卷积中:

$(f * g)(n) =\left(\sum_{d \mid n}f(d)g ({\frac {n}{d}})\right) \bmod p$ 。

Input Format

第一行输入一个数字 tt ,代表一共有 tt 组样例 (1t100)(1\leq t\leq 100)

对于每组样例来说输入两行。

第一行包含两个整数 nnk(2n105,1k<998244353)k(2\leq n\leq 10^5, 1\leq k < 998244353)

第二行包含n个整数 g(1),g(2),,g(n)g(1), g(2),\dots, g(n) ( 0g(i)<998244353,g(1)=10\le g(i) < 998244353, g(1)=1 ) 。

题目保证 n105\sum n \le 10^5

Output Format

如果没有解决方案,则输出 1-1

否则,输出 f(1),f(2),...,f(n)f(1), f(2), ..., f(n) (0f(i)<998244353,f(1)=10 \le f(i) < 998244353, f(1)=1 )。如果有多种解决方案,请随便选一个。

请注意:每行输出的末尾不允许有空格。

1
5 2
1 8 4 26 6
1 4 2 5 3