小雅米在隔离时非常无聊,于是他又打起了数列的主意。
小雅米选择了一个数列 fn{f_n}fn , 数列通项公式可表达为一个多项式:fn=∑i=0mainif_n=\sum_{i=0}^m{a_in^i}fn=∑i=0maini。他想知道数列 sn=∑i=1nfis_n=\sum_{i=1}^n f_isn=∑i=1nfi 用多项式表示的通项公式,即求表达式 sn=∑i=0m+1binis_n=\sum_{i=0}^{m+1}{b_in^i}sn=∑i=0m+1bini 中的系数 b0,b1,...,bm+1b_0,b_1,...,b_{m+1}b0,b1,...,bm+1。
后来小雅米发现求数列的通项公式有点困难,于是他改变了想法,他想知道数列 sns_nsn 的其中 kkk 项。
由于数据可能很大,你仅需要输出结果除 108+710^8+7108+7 后的余数即可。
测试数据共 333 行:
第一行 222 个整数 m,k(1≤m≤103,1≤k≤2×103)m,k(1 \leq m \leq 10^3,1 \leq k \leq 2\times 10^3)m,k(1≤m≤103,1≤k≤2×103)。
第二行 m+1m+1m+1 个整数 a0,a1,...,am(0≤ai<108+7)a_0,a_1,...,a_m(0 \leq a_i < 10^8+7)a0,a1,...,am(0≤ai<108+7),表示数列 fnf_nfn 的系数。
第三行 kkk 个整数 p1,p2,...,pk(1≤pi≤106)p_1,p_2,...,p_k(1 \leq p_i \leq 10^6)p1,p2,...,pk(1≤pi≤106),表示小雅米想要求的数列中的其中 kkk 项 sp1,sp2,...,spks_{p_1},s_{p_2},...,s_{p_k}sp1,sp2,...,spk。
输出一行 kkk 个整数为 sp1,sp2,...,spks_{p_1},s_{p_2},...,s_{p_k}sp1,sp2,...,spk 分别除 108+710^8+7108+7 后的余数,用空格隔开。
1 2 1 3 1 3
4 21
例子中 fn=3n+1,sn=32n2+52nf_n=3n+1, s_n=\frac{3}{2}n^2+\frac{5}{2}nfn=3n+1,sn=23n2+25n。