#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
using namespace std;
long long n, p, p2, k, ans;
long long a[5000010], pre[5000010], suf[5000010];
long long inv(long long x){
if (x == 1) return 1;
return (p - p / x) * inv(p % x) % p;
}
int main(){
cin >> n >> p >> k;
for (long long i = 1; i <= n; i++){
cin >> a[i];
}
pre[1] = a[1];
for (long long i = 2; i <= n; i++){
pre[i] = pre[i - 1] * a[i] % p;
}
suf[n] = a[n];
for (long long i = n - 1; i >= 1; i--){
suf[i] = suf[i + 1] * a[i] % p;
}
for (long long i = 1, j = k; i <= n; i++, j = j * k % p){
ans += j * (pre[i - 1] * suf[i + 1] % p) % p;
}
cout << ans * inv(pre[n]) % p;
return 0;
}
样例没过