#include <bits/stdc++.h>
using namespace std;
int n,m1,m2;
long long cnt,t,tt,len,res,r,ans=1000000000,s[100005],a[3000005],b[3000005];
bool flag=0,flag1=0;
int main(){
cin >> n >> m1 >> m2;
for (int i = 0;i < n;i++) cin >> s[i];
for (int j = 0;j < n;j++){
t=m1;flag=0;len=0;
for (int i = 2;i <= t/i;i++){
if (t%i == 0){
if (s[j]%i){
flag=1;
break;
}cnt=0;
while (t%i == 0){t /= i;cnt++;}
a[len]=cnt*m2;
cnt=0;tt=s[j];
while (tt%i == 0){tt /= i;cnt++;}
b[len]=cnt;
len++;
}
}if (t > 1 && s[j]%t) flag=1;
else if (t > 1){
a[len]=m2;
cnt=0;tt=s[j];
while (tt%t == 0){tt /= t;cnt++;}
b[len]=cnt;
len++;
}
if (flag) continue;
else{
flag1=1;res=0;
for (int i = 0;i < len;i++){
if (b[i] >= a[i]) continue;
r=0;
while (b[i] < a[i]){
r++;
b[i] *= 2;
}res=fmax(res,r+1);
}
ans=fmin(ans,res);
}
}
if (!flag1) cout << -1;
else cout << ans;
return 0;
}