#include<cstdio>
#define int long long
const int MOD = 1e9+7;
int n,m,k,q;
int ksm(int a,int b)
{
int rt = 1;
while(b != 0)
{
if(b%2==1)
{
rt *= a;
rt %= MOD;
}
a *= a;
a %= MOD;
b /= 2;
}
return rt;
}
int fac[500001];
signed main()
{
scanf("%lld%lld%lld%lld",&n,&m,&k,&q);
q %= MOD;
int i,j;
fac[0] = 1;
for(i=1;i<=n;i++)
{
fac[i] = fac[i-1]*i;
fac[i] %= MOD;
}
int res = 0;
for(i=1;i<=m+1;i++)
{
int x;
scanf("%lld",&x);
res += ksm(q,m-i+1)*x;
res %= MOD;
}
res *= fac[n];
res %= MOD;
res *= ksm(fac[n-k],MOD-2);
res %= MOD;
res *= ksm(fac[k],MOD-2);
res %= MOD;
printf("%lld",res);
}
害怕,不知道哪里写炸了