#include<stdio.h>
using namespace std;
int s,x,p,i,y,n,m,l,t,j,k,d[100],v[50]={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,101};
long long nr[100000];
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;v[j]<=x;++j)
{
s=0;
p=v[j];
while(p<=x)
{
s=s+x/p;
p=p*v[j];
}
d[v[j]]=d[v[j]]+s;
}
}
m=1;
nr[m]=1;
for(i=1;i<=100;++i)
if(d[i]!=0&&d[i]%k!=0)
for(j=1;j<=k-d[i]%k;++j)
{
t=0;
for(l=1;l<=m;++l)
{
y=t+nr[l]*i;
t=y/10;
nr[l]=y%10;
}
while(t!=0)
{
++m;
nr[m]=t%10;
t=t/10;
}
}
for(i=m;i>=1;--i)
printf("%lld",nr[i]);
printf("\n");
return 0;
}