#include <stdio.h>
const int m=25;
const int p[26] = {0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,
59,61,67,71,73,79,83,89,97};
int a[101];
int nr[100001];
int t,i,j,x,y,n,k;
int main()
{
freopen("factoriale.in","r",stdin);
freopen("factoriale.out","w",stdout);
scanf("%d %d",&n,&k);
for (i=1; i<=n; i++){
scanf("%d",&x);
for (j=1; j<=m; j++){
y=p[j];
while (y<=x){
a[p[j]]+=x/y;
y*=p[j];
}
}
}
nr[0]=1; nr[1]=1;
for (j=1; j<=m; j++)
while (a[p[j]] % k!=0){
t=0;
i=1;
a[p[j]]++;
while (i<=nr[0] || t!=0){
t=t/10 + nr[i]*p[j];
nr[i]=t % 10;
i++;
}
nr[0]=i-2;
}
for (i=nr[0]; i>=1; i--)
printf("%d",nr[i]);
printf("\n");
return 0;
}