#include<stdio.h>
int c[101];
int A[900],B;
int main()
{
freopen("factoriale.in","r",stdin);
freopen("factoriale.out","w",stdout);
int p[25]={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 n,k,x,i,j,t,w,xmax=0;
//long long r=1;
A[0]=A[1]=1;
scanf("%d%d",&n,&k);
for(i=0; i<n; i++)
{
scanf("%d",&x);
if(x>xmax)
xmax=x;
for(j=2; j<=x; j++)
{
w=j;
for(t=0; (t<25)&&(w!=1); t++)
{
while(w%p[t]==0)
{
w=w/p[t];
c[p[t]]++;
}
}
}
}
t=0;
for(w=2; w<=xmax; w++)
{
if(c[w])
{
if(c[w]%k!=0)
{
B=w;
for(j=k-c[w]%k; j>0; j--)
{
for (i=1; (i<=A[0])||(t); i++, t/=10)
A[i]=(t+=A[i]*B)%10;
A[0] = i - 1;
}
}
}
}
//printf("%lld\n",r);
for(i=A[0]; i>0; i--)
printf("%d",A[i]);
printf("\n");
return 0;
}