#HD202503A. 求和

求和

给定一个长度为 kk 的正整数序列 a1,a2,,aka_1,a_2,\dots,a_k ,以及包含 nn 个正整数的多重集合 SS(即可以包含重复元素的集合);

另定义在整数上的函数 ff

$$f(n)= \left\{ \begin{aligned} &0, & n \leq -1 \\ &1, & n = 0 \\ &\sum_{i=1}^k f(n-i)a_i, & n \geq 1 \end{aligned} \right. $$

TSf(xTx)\sum_{T \subseteq S} f(\sum_{x \in T} x)998244353998244353 取模的结果。

输入格式

输入共 3 行:

  • 第 1 行输入两个正整数 nn (1n105)(1\leq n\leq 10^5)kk (1k50)(1\leq k\leq 50) ,分别表示集合大小和序列 aa 的长度。
  • 第 2 行包含 kk 个正整数,第 ii 个数代表 aia_i (1ai109)(1\leq a_i\leq 10^9)
  • 第 3 行包含 nn 个正整数,第 ii 个数 bib_i 代表集合 SS 的第 ii 个元素 (1bi109)(1\leq b_i\leq 10^9)

输出格式

输出共一行,含仅一个非负整数表示答案。

样例

输入

2 2
1 1
2 3

输出

14

提示

S={2,3}S=\{2,3\} 的所有子集为:,{2},{3},{2,3}\emptyset,\{2\},\{3\},\{2,3\}

f(0)=1,f(2)=2,f(3)=3,f(5)=8f(0)=1,f(2)=2,f(3)=3,f(5)=8

f(xx)=f(0)=1f(\sum_{x\in \emptyset} x)=f(0)=1f(x{2}x)=f(2)=2f(\sum_{x\in \{2\}} x)=f(2)=2f(x{3}x)=f(3)=3f(\sum_{x\in \{3\}} x)=f(3)=3f(x{2,3}x)=f(5)=8f(\sum_{x\in \{2,3\}} x)=f(5)=8,故所求的结果为 1+2+3+8=141+2+3+8=14

注意:考虑多重集子集的时候,形式相同的子集可能需要被认为是不同的,例如统计 S={1,1}S=\{1,1\} 的子集时,{1}\{1\} 需要计算两次。