#include<cstdio>
#include<algorithm>
using namespace std;
#define maxn 11 //我谔谔这这这这这这这这这这这这这这这这这这……
int n,m1,m2,prime[maxn],tot[maxn],a[maxn],s;
int ans=2e9;
inline int work(int x)
{
int c1=0,c2=0;
for(int i=2;i<=x/i;i++)
for(;x%i==0;x/=i)
a[++c1]=i;
if(x>1) a[++c1]=x;
for(int i=1;i<=c1;i++,tot[c2]++)
if(a[i]!=a[i-1]) prime[++c2]=a[i];
return c2;
}
inline int read();
int main()
{
n=read(),m1=read(),m2=read();
int cnt=work(m1);
for(int k=1;k<=n;k++)
{
s=read();
int x=0;
for(int i=1;i<=cnt;i++)
{
int p=prime[i];
if(s%p!=0) { x=-1; break; }
else
{
int e=0;
for(;s%p==0;s/=p) e++;
x=max(x,1+(m2*tot[i]-1)/e);
}
}
if(x>=0) ans=min(ans,x);
}
if(ans==2e9) printf("-1");
else printf("%d",ans);
return 0;
}
inline int read()
{
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
注意:我提交了很多次只是因为想试试这题数据水到什么程度,非故意扰乱洛谷的评测!