给定一个长度为 k 的正整数序列 a1,a2,…,ak ,以及包含 n 个正整数的多重集合 S(即可以包含重复元素的集合);
另定义在整数上的函数 f:
$$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.
$$
求 ∑T⊆Sf(∑x∈Tx) 对 998244353 取模的结果。
输入格式
输入共 3 行:
- 第 1 行输入两个正整数 n (1≤n≤105) 和 k (1≤k≤50) ,分别表示集合大小和序列 a 的长度。
- 第 2 行包含 k 个正整数,第 i 个数代表 ai (1≤ai≤109)。
- 第 3 行包含 n 个正整数,第 i 个数 bi 代表集合 S 的第 i 个元素 (1≤bi≤109)。
输出格式
输出共一行,含仅一个非负整数表示答案。
样例
输入
2 2
1 1
2 3
输出
14
提示
S={2,3} 的所有子集为:∅,{2},{3},{2,3} 。
f(0)=1,f(2)=2,f(3)=3,f(5)=8。
f(∑x∈∅x)=f(0)=1,f(∑x∈{2}x)=f(2)=2,f(∑x∈{3}x)=f(3)=3,f(∑x∈{2,3}x)=f(5)=8,故所求的结果为 1+2+3+8=14。
注意:考虑多重集子集的时候,形式相同的子集可能需要被认为是不同的,例如统计 S={1,1} 的子集时,{1} 需要计算两次。