#228. [R37G]烹饪大赛

[R37G]烹饪大赛

时空限制

1S/512M

题目描述

兔子 Tom 参加了烹饪大赛,大赛要求每个人使用给定食材中的其中一些做出一道美食,大赛的食材有 nn 种,每一种都有一个风味值,用 a1,a2,,ana_1,a_2,\cdots,a_n 表示。

一道美食的美味程度是根据其食材的种类数和食材搭配的和谐度决定,种类越多或和谐度越高,美食就越美味。大赛的评委有一个品鉴值 xx,一个由风味值分别为 b1,b2,,bmb_1,b_2,\cdots,b_mmm 种食材制作的美食的美味程度为:

xm×gcd(b1,b2,,bm)x^m \times \gcd(b_1,b_2,\cdots,b_m)

因为 Tom 对烹饪一无所知,他会随机选择任意数量的食材(至少一种)出来进行烹饪,为了知道他预计的成绩是多少,他需要你输出所有 2n12^n-1 种情况的美食美味程度之和,由于答案可能很大,请输出对 998244353998244353 取模的结果。

输入格式

第一行包含两个整数 n,xn,x,表示食材种数和品鉴值。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\cdots,a_n,表示每种食材的风味值。

输出格式

输出一行一个整数,表示所有情况下美食的美味程度之和,对 998244353998244353 取模。

样例

样例输入 1

4 1
2 3 4 6

样例输出 1

32

样例输入 2

5 2
2 6 18 25 30

样例输出 2

562

样例输入 3

7 4
12 35 14 5 27 6 15

样例输出 3

80456

数据范围

子任务编号 分数 nn \le aia_i \le x<x<
11 1010 1818 10610^6 998244353998244353
22 2020 300300
33 2020 2×1052\times 10^5 10610^6 22
44 5050 998244353998244353

对于 100%100\% 的数据:1n2×1051 \le n \le 2 \times 10^51ai1061 \le a_i \le 10^61x<9982443531 \le x < 998244353