#include<bits/stdc++.h>
using namespace std;
const int N=5e6+10;
int n,p,k;
int a[N];
long long mul2[N],mul1[N];
int power(int a,int b)
{
int ans=1%p;
for(;b;b>>=1)
{
if(b&1)ans=1ll*ans*a%p;
a=1ll*a*a%p;
}
return ans;
}
signed main()
{
freopen("P5431_1.in","r",stdin);
freopen("fsag.out","w",stdout);
scanf("%d%d%d",&n,&p,&k);
mul1[0]=mul2[n+1]=1;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
mul1[i]=1ll*mul1[i-1]*a[i]%p;
}
for(int i=n;i>=1;i--)
{
mul2[i]=1ll*mul2[i+1]*a[i]%p;
}
int ans=power(mul1[n],p-2);
int kk=0;
int f=1;
for(int i=1;i<=n;i++)
{
f=1ll*f*k%p;
kk=1ll*(kk+f*mul1[i-1]*mul2[i+1])%p;
}
cout<<1ll*ans*kk%p;
return 0;
}