#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int n, x, P, m, f[N], g[N], a[N];
int fastpow(int x, int y)
{
int ans = 1;
for (; y; y >>= 1, x = 1ll * x * x % P)
if (y & 1) ans = 1ll * ans * x % P;
return ans;
}
int main()
{
cin >> n >> x >> P >> m;
for (int i = 0; i <= m; i++) cin >> a[i];
f[0] = fastpow(x + 1, n - m);
for (int i = m - 1; ~i; i--)
{
g[0] = 1ll * f[0] * (x + 1) % P;
for (int j = 1; j <= m - i; j++)
g[j] = 1ll * (g[j - 1] - f[j - 1] + P) % P * (n - i) % P;
for (int j = 0; j <= m - i; j++) f[j] = g[j];
}
int ans = 0;
for (int i = 0; i <= m; i++) ans = (ans + 1ll * f[i] * a[i]) % P;
cout << ans << endl;
return 0;
}