快速幂水题。
/**********************
* author:crazy_石头
* Pro:SGU 117
* algorithm:quick pow
* Time:0ms
* Judge Status:Accepted
***********************/
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
using namespace std;
#define LL long long
#define rep(i,h,n) for(int i=(h);i<=(n);i++)
#define ms(a,b) memset((a),(b),sizeof(a))
#define INF 1<<29
const int maxn=10000+5;
int n,m,k;
inline int quick_pow(int a,int b)
{
int ret=1;
while(b)
{
if(b&1)
ret=(LL)ret*a%k;
b>>=1;
a=(LL)a*a%k;
}
return ret;
}
int main()
{
scanf("%d%d%d",&n,&m,&k);
int cnt=0,s,h;
rep(i,0,n-1)
{
scanf("%d",&s);
if(quick_pow(s,m)%k==0)
cnt++;
}
printf("%d\n",cnt);
return 0;
}