#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=5e6+7;
int n,p,k,x,y;
int sum[N];
inline int read()
{
int x=0,f=1;
char c=getchar();
while(c>'9'||c<'0')
{
if(c=='-') f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
void exgcd(int a,int b,int& x,int& y)
{
if(b==0)
{
x=1,y=0;
return;
}
exgcd(b,a%b,y,x);
y-=a/b*x;
}
int get_(int a)
{
int b=p-2;
int ret=1;
while(b)
{
if(b&1)
{
ret=(ll)ret*a%p;
}
a=(ll)a*a%p;
b>>=1;
}
return ret;
}
void write(ll x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>=10)
{
write(x/10);
}
putchar(x%10+'0');
return;
}
int main()
{
n=read(),p=read(),k=read();
sum[0]=1;
for(int i=1;i<=n;++i)
{
sum[i]=(ll)sum[i-1]*k%p;
}
int t;
ll ans=0;
for(int i=1;i<=n;++i)
{
int a;
a=read();
ans=(ans+(ll)sum[i]*get_(a)%p)%p;
}
write(ans);
return 0;
}