#P1029. Sum

Sum

Sum

给定非负整数 n,kn,k 与序列 a1,a2,,ama_1,a_2,\dots,a_m (其中 m=nm = \lfloor \sqrt n \rfloor

试求以下表达式对 998244353998244353 取模的值:

i=1nav(i)ik\sum_{i=1}^na_{v(i)}i^k

其中 v(i)v(i) 表示 ii 最大的平方因子,即 v(i)=max{jjN,j2i}v(i) = \max\{j|j \in \N^*,j^2 | i\}

输入格式

第一行输入两个数 n,kn,k

第二行输入 m=nm = \lfloor \sqrt n \rfloor 个数 a1,a2,,ama_1,a_2,\dots,a_m

输出格式

一行一个数,表示答案。

样例输入 1

2 1
3

样例输出 1

9

样例解释 1

i=1,v(i)=1,av(i)=3,av(i)ik=3i = 1,v(i) = 1,a_{v(i)} = 3,a_{v(i)}i^k=3

i=2,v(i)=1,av(i)=3,av(i)ik=6i = 2,v(i) = 1,a_{v(i)} = 3,a_{v(i)}i^k = 6

所以 i=1nav(i)ik=9\sum_{i=1}^n a_{v(i)}i^k = 9

样例输入 2

10 5
3 7 6

样例输出 2

974790

样例解释 2

v(1)v(10)v(1) \sim v(10) 分别为 1,1,1,2,1,1,1,2,3,11,1,1,2,1,1,1,2,3,1 ,代入原式可得结果为 974790974790

样例输入 3 / 样例输出 3

down/sum_sample3.indown/sum_sample3.out。该样例满足测试点 141 \sim 4 的限制。

样例输入 4 / 样例输出 4

down/sum_sample4.indown/sum_sample4.out。该样例满足测试点 565 \sim 6 的限制。

样例输入 5 / 样例输出 5

down/sum_sample5.indown/sum_sample5.out。该样例满足测试点 111211 \sim 12 的限制。

样例输入 6 / 样例输出 6

down/sum_sample6.indown/sum_sample6.out。该样例满足测试点 131413 \sim 14 的限制。

样例输入 7 / 样例输出 7

down/sum_sample7.indown/sum_sample7.out。该样例满足测试点 152015 \sim 20 的限制。

数据范围

测试点编号 nn \le kk \le 特殊限制
141 \sim 4 10610^6 10910^9
565 \sim 6 101110^{11} 22
787 \sim 8 20002000
9109 \sim 10 5×1045 \times 10^4
111211 \sim 12 10610^6 A
131413 \sim 14 B
152015 \sim 20

特殊限制 A:对所有 $1 \le i \le \dfrac{\lfloor \sqrt n \rfloor}{3},a_i = 0$

特殊限制 B:对所有 i2,ai=0i \ge 2,a_i = 0

所有数据满足:$1 \le n \le 10^{11},0 \le k \le 10^6,0 \le a_i < 998244353$