#include<bits/stdc++.h>
using namespace std;
priority_queue<long long,vector<long long>,greater<long long> > S;
long long p[200];
int main()
{
long long K,N,cnt=1,i,j;
scanf("%lld%lld",&K,&N);
for(i=1;i<=K;i++)
{
scanf("%lld",&p[i]);
S.push(p[i]);
}
sort(p+1,p+K+1);
while(N>1)
{
long long _now=S.top();
while(!S.empty() && _now==S.top()) S.pop();
for(i=1;i<=K;i++)
if (_now%p[i]==0)
{
for(j=i;j<=K;j++) S.push(_now*p[j]);
break;
}
N--;
}
printf("%lld",S.top());
}