#include <bits/stdc++.h>
using namespace std;
long long a[10010], p[30010], cnt[1010], x;
int ans = 1e9;
int main() {
int n, m1, m2;
cin >> n >> m1 >> m2;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = 2; i <= m1; i++) {
while (m1 % i == 0) {
p[i]++;
if (cnt[x] != i) cnt[++x] = i;
m1 /= i;
}
}
for (int i = 0; i < x; i++) {
p[cnt[i]] *= m2;
}
for (int i = 1; i <= n; i++) {
int mi = 0;
for (int j = 1; j <= x; j++) {
int t = 0;
if (a[i] % cnt[j] != 0) {
mi = 1e9;
break;
}else {
while (a[i] % cnt[j] == 0) {
t++;
a[i] /= cnt[j];
}
mi = max(mi, (int)ceil(1.0 * p[cnt[j]] / t));
}
}
ans = min(ans, mi);
}
if (ans != 1e9) cout << ans;
else cout << -1;
return 0;
}