program alex;
const p:array[1..25]of longint=
(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);
var f:text;
j,pr,i,t,k,x,n,r:longint;
c:array[1..25]of longint;
begin
assign(f,'factoriale.in');reset(f);
readln(f,n,k);
for i:=1 to n do
begin
read(f,x);
j:=0;
repeat
j:=j+1;
t:=p[j];
while x div t<>0 do
begin
c[j]:=c[j]+(x div t);
t:=t*p[j];
end;
until p[j]>=x;
end;
close(f);
pr:=1;
for i:=1 to 25 do
if c[i]<>0 then begin
r:=c[i] mod k;
if r<>0 then for j:=1 to k-r do
pr:=pr*p[i];
end;
assign(f,'factoriale.out');rewrite(f);
writeln(f,pr);
close(f);
end.