小朋友你是否有很多问号
题号:NC205831
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

题目背景

”这老师讲的也太简单了吧,听得我想睡觉“,小明对着正在放着数学网课的电脑屏幕自顾自地大笑道。

说完这句后,QQ框突然疯狂地抖动起来,小明打开一看,全是群消息:

小红:小明,你忘关麦了!

小刚:这小伙子勇啊。

大刘:没救了,厚葬吧。

“卧槽”,小明大吼道,突然又意识到什么,赶紧捂住嘴巴然后回到网课界面把麦克风关掉。
”小明啊“,数学老师停下了讲课,幽幽地说,”看来你学的挺好,那么来做一下这道题吧,写不出的话返校后我的数学课你就倒立着听。“

小明:?????
题目描述

我们定义公质数:若存在三个正整数且满足互质且互质,那么我们就称,的二元公质数。同理,如果同时与个数互质,那么称是这个数的元公质数。现在给你个数,求出其中任意个数的所有元公质数(要求公质数也在这个数中)的和。(详见样例)


输入描述:

第一行输入一个n,m(3<=n<=100000, 2 <= m <=n)

第二行输入n个数字,中间以空格隔开。

输出描述:

如题所述,最后答案对998244353取模

示例1

输入

复制
4 2

3 3 5 5

输出

复制
16

说明

(3,3)的二元公质数有5,5;
(3,5)没有二元公质数;
(5,5)的公质数有:3,3;
 因此答案为:5+5+3+3=16
示例2

输入

复制
6 2

2 3 4 5 20 30

输出

复制
39

说明

(2,3)的二元公质数有5, 
同理(2, 4):3, 5; 
(2, 5):3; 
(2, 20):3 
(2, 30): 无; 
(3, 4): 5; 
(3, 5): 2, 4; 
(3, 20):无; 
(3, 30): 无; 
(4, 5):3; 
(4, 20): 3; 
(4, 30):无 
(5, 20): 3; 
(5, 30):无; 
(20, 30):无
因此ans = 5 + 3 + 5 + 3 + 3 + 5 + 2 + 4 + 3 + 3 +3 = 39