#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll M,K;
#define TLE ios::sync_with_stdio(0),cin.tie(0)
ll n,m,t,a[5000001],b[5000001];
ll ksm(ll x,ll p)
{
ll re=1;
while(p)
{
if(p&1)re=re*x%M;
p>>=1;
x=x*x%M;
}
return re;
}
int main()
{
TLE;
ll sum=0;
a[0]=b[0]=1;
cin>>n>>M>>K;
for(register int i=1;i<=n;i++)
cin>>a[i];
for(register int i=1;i<=n;i++)
b[i]=b[i-1]*a[i]%M;
ll zny=ksm(b[n],M-2);
for(register int i=n;i>=1;i--)
{
b[i]=zny*b[i-1]%M;
zny=zny*a[i]%M;
}
ll pre=K;
for(register int i=1;i<=n;i++)
{
sum=(sum+b[i]*pre%M)%M;
pre=pre*K%M;
}
cout<<sum<<endl;
return 0;
}