#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long n,x,p,m;
long long a[1005];
long long ans;
long long f(long long k){
long long sum=0;
for(long long i=0;i<=m;i++){
sum=(sum+(long long)(pow(k,i))%p*a[i]%p)%p;
}
return sum%p;
}
long long jc(long long a){
if(a==0) return 1;
long long sum=1;
for(long long i=2;i<=a;i++) sum=sum%p*i%p;
return sum%p;
}
long long c(long long n,long long k){
return jc(n)%p/jc(k)/jc(n-k);
}
int main(){
freopen("problem.in","r",stdin);
freopen("problem.out","w",stdout);
scanf("%lld%lld%lld%lld",&n,&x,&p,&m);
for(int i=0;i<=m;i++)
scanf("%lld",&a[i]);
for(long long k=0;k<=n;k++){
ans+=((f(k)%p*(long long)(pow(x,k)))%p*c(n,k))%p;
ans%=p;
}
printf("%lld",ans);
return 0;
}