#include<bits/stdc++.h>
using namespace std;
const int N=30005;
int n,m1,m2,t;
int s[N],p[N],cnt[N];
int main(){
std::cin>>n>>m1>>m2;
for(int i=1;i<=n;i++){
std::cin>>s[i];
}
for(int i=2;i<=m1;i++){
if(m1%i) continue;
t++;
p[t]=i;
while(m1%i==0){
cnt[t]++,m1/=i;
}
cnt[t]*=m2;
}
int ans=-1;
for(int i=1;i<=n;i++){
bool flag=false;
for(int j=1;j<=t;j++){
if(s[i]%p[j]) flag=true;
}
if(flag) continue;
int tmp=0;
for(int j=1;j<=t;j++){
int c=0;
while(s[i]%p[i]==0){
c++,s[i]/=p[j];
}
tmp=std::max(tmp,(cnt[j]-1)/c+1);
}
if(ans=-1) ans=tmp;
else ans=std::min(ans,tmp);
}
std::cout<<ans<<endl;
return 0;
}