描述

众所周知,小葱同学擅长计算,尤其擅长计算组合数。小葱现在希望你计算
(k=0nf(k)×xk×(nk))mod p(\sum_{k=0}^{n}f(k)\times x^k \times \begin{pmatrix}n \\ k \end{pmatrix}) mod\ p
的值。其中 n,x,pn, x, p 为给定的整数,f(k)f(k) 为给定的一个 mm 次多项式f(k)=a0+a1k+a2k2++amkmf(k) = a_0 + a_1k + a_2k^2 + · · · + a_mk^m(nk)\begin{pmatrix}n \\ k \end{pmatrix}为组合数,其值为(nk)=n!k!(nk)!\begin{pmatrix}n \\ k \end{pmatrix}=\frac{n!}{k!(n-k)!}

输入

第一行四个非负整数 n,x,p,mn, x, p, m
第二行 m+1m + 1 个整数,分别代表 a0,a1,,ama_0, a_1, · · · , a_m

输出

仅一行一个整数表示答案。

样例输入 1
5 1 10007 2
0 0 1
样例输出 1
240
样例输入 2
996 233 998244353 5
5 4 13 16 20 15
样例输出 2
869469289
提示

【样例 1 解释】
f(0)=0f(1)=1f(2)=4f(3)=9f(4)=16f(5)=25f(0) = 0,f(1) = 1,f(2) = 4,f(3) = 9,f(4) = 16,f(5) = 25
x=1x = 1,故 xkx^k 恒为 1,乘积中的该项可以忽略。
(50)=1\begin{pmatrix}5 \\ 0 \end{pmatrix}=1(51)=5\begin{pmatrix}5 \\ 1 \end{pmatrix}=5(52)=10\begin{pmatrix}5 \\ 2 \end{pmatrix}=10(54)=5\begin{pmatrix}5 \\ 4 \end{pmatrix}=5(55)=1\begin{pmatrix}5 \\ 5 \end{pmatrix}=1
最终答案为:
(k=05f(k)×(5k))=0×1+1×5+4×10+9×10+16×5+25×1=240(\sum_{k=0}^{5}f(k) \times \begin{pmatrix}5 \\ k \end{pmatrix}) =0 × 1 + 1 × 5 + 4 × 10 + 9 × 10 + 16 × 5 + 25 × 1 = 240
【数据范围】
对于所有测试数据:1n,x,p109,0ai109,0mmin(n,1000)1 ≤ n, x, p ≤ 10^9,0 ≤ a_i ≤ 10^9,0 ≤ m ≤ min(n,1000)
每个测试点的具体限制见下表:
enter image description here