#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int n,m1,m2,cnt=0,s;
cin>>n;
cin>>m1>>m2;
int p[1010];
int a[1010];
memset(a,0,sizeof(a));
for(int i=2; i*i<=m1; i++)
{
if(m1%i==0)
{
p[cnt]=i;
while(m1%i==0)
{
a[cnt]++;
m1/=i;
}
cnt++;
}
}
if(m1!=1)
{
p[cnt]=m1;
a[cnt]=1;
cnt++;
}
for(int i=0; i<cnt; i++)
{
a[i]*=m2;
}
bool f;
int tmp,t;
int ans=-1;
for(int i=0; i<n; i++)
{
cin>>s;
f=true;
for(int j=0; j<cnt; j++)
{
if(s%p[j]!=0)
{
f=false;
break;
}
}
if(!f)
continue;
t=0;
for(int j=0; j<cnt; j++)
{
tmp=0;
while(s%p[j]==0)
{
s/=p[j];
tmp++;
}
if(a[j]%tmp==0)
t=max(t,a[j]/tmp);
else
t=max(t,a[j]/tmp+1);
}
if(ans==-1||ans>t)
ans=t;
}
cout<<ans<<endl;
return 0;
}