#P16708. 数论题

数论题

题目描述

对于一个长度为 nn 的正整数序列 aa,定义它的权值为满足下列条件的方案数:

  • aa 的所有位置划分到两个非空子序列 sstt 中,且 ss 中的每个元素都整除 tt 中的每个元素。

这里,两个子序列均保持元素在原序列中的相对顺序,且 tt 由所有未被选入 ss 的位置组成。

两种方案不同,当且仅当子序列 ss 在原序列中选取的位置集合不同。

例如,当

a=[1,1,2,2]a=[1,1,2,2]

时,合法的 ss 按其在原序列中的位置区分,共有以下 55 种:

[1], [1], [1,1], [1,1,2], [1,1,2].[1],\ [1],\ [1,1],\ [1,1,2],\ [1,1,2].

现在给定一个长度为 nn 的正整数序列 bb,保证 bi[1,m]b_i\in[1,m],且所有 bib_i 互不相同。

称正整数序列 aa好的,当且仅当对于所有 1in1\le i\le n,都有

aibi.a_i\mid b_i.

请计算所有好的序列 aa 的权值之和。答案对 998244353998244353 取模。

输入格式

第一行输入两个整数 n,mn,m,分别表示序列 bb 的长度和值域上界。

第二行输入 nn 个整数 b1,b2,,bnb_1,b_2,\ldots,b_n

输出格式

输出一行一个整数,表示所有好的序列的权值之和对 998244353998244353 取模后的结果。

样例 1

2 4
2 3
4

样例 1 解释

好的序列 aa 共有 44 个:

[1,1], [2,1], [1,3], [2,3].[1,1],\ [2,1],\ [1,3],\ [2,3].

它们的权值分别为 2,1,1,02,1,1,0,因此答案为

2+1+1+0=4.2+1+1+0=4.

样例 2

4 6
1 3 5 6
76

数据范围

  • 对于 10%10\% 的测试数据,n,m10n,m\le10
  • 对于 25%25\% 的测试数据,n10n\le10m1000m\le1000
  • 对于 45%45\% 的测试数据,n100n\le100m104m\le10^4
  • 对于另外 20%20\% 的测试数据,bi=ib_i=i
  • 对于全部测试数据:
$$1\le n\le10^5, \qquad 1\le m\le2\times10^5, \qquad 1\le b_i\le m,$$

并保证所有 bib_i 互不相同。