CFCF2176F.Omega Numbers

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于给定的数字 nn,定义函数 ω(n)\omega(n),表示数 nn 的素因数分解中不相同的质数的个数。

例如,ω(12)=ω(223)=2\omega(12) = \omega(2^2 \cdot 3) = 2ω(120)=ω(2335)=3\omega(120) = \omega(2^3 \cdot 3 \cdot 5) = 3

对于一个由自然数组成的数组 aa 和自然数 kk,定义 f(a,k)=i<jω(aiaj)k\operatorname{f}(a, k) = \sum_{i < j} \omega(a_i \cdot a_j)^k,对所有满足 i<ji < j 的情况求和。

现在给定一个长度为 nn 的自然数数组 aa,和一个自然数 kk,请计算 f(a,k)\operatorname{f}(a, k)998244353998\,244\,353 取模后的结果。

输入格式

输入包含多组测试数据。第一行包含测试用例个数 tt(1t104)(1 \le t \le 10^4)。每组测试数据描述如下:

每组测试数据的第一行包含两个整数 nnkk(1n2105,1k109)(1 \leq n \leq 2 \cdot 10^5, 1 \leq k \leq 10^9),分别表示数组 aa 的长度和幂的指数。

第二行包含 nn 个自然数 a1,a2,,ana_1, a_2, \ldots, a_n(1ain)(1 \leq a_i \leq n),表示数组 aa

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每组测试数据,输出一行一个整数,表示函数 f(a,k)\operatorname{f}(a, k)998244353998\,244\,353 取模后的结果。

输入输出样例

  • 输入#1

    3
    4 1
    3 3 3 3
    4 1
    1 1 1 1
    4 2
    1 2 3 4

    输出#1

    6
    0
    12

说明/提示

第一个测试用例的解释:

对于任意一对 (i,j)(i,j),乘积的 ω(x)\omega(x) 都是 ω(32)=1\omega(3^2) = 1。共有 66 个不同的 (i,j)(i,j) 对,指数为 11,最后的答案为 66

第二个测试用例的解释:

第二个测试用例中,任意一对的乘积都是 11,因此其中质因数的个数为 00,答案也为 00

第三个测试用例的解释:

考虑所有的 (i,j)(i, j) 对:

  • (1,2)(1,2):第 11 个和第 22 个数的乘积为 121 \cdot 2ω(2)=1\omega(2) = 1
  • (1,3)(1,3):第 11 个和第 33 个数的乘积为 131 \cdot 3ω(3)=1\omega(3) = 1
  • (1,4)(1,4):第 11 个和第 44 个数的乘积为 141 \cdot 4ω(22)=1\omega(2^2) = 1
  • (2,3)(2,3):第 22 个和第 33 个数的乘积为 232 \cdot 3ω(23)=2\omega(2 \cdot 3) = 2
  • (2,4)(2,4):第 22 个和第 44 个数的乘积为 242 \cdot 4ω(23)=1\omega(2^3) = 1
  • (3,4)(3,4):第 33 个和第 44 个数的乘积为 343 \cdot 4ω(322)=2\omega(3 \cdot 2^2) = 2

在答案中,ω(x)\omega(x) 的值需要取平方,所有项加起来为 12+12+12+22+12+22=121^2 + 1^2 + 1^2 + 2^2 + 1^2 + 2^2 = 12

首页