program factoriale {preONI 2008 runda4};
const p:array[1..25] of shortint=(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,g:text;
n,k,i,j,x,nr,y:integer;
a:array[1..25] of integer;
b:longint;
begin
assign(f,'factoriale.in');reset(f);
assign(g,'factoriale.out');rewrite(g);
readln(f,n,k);
for i:=1 to 25 do
a[i]:=0;
for i:=1 to n do
begin
read(f,x);
for nr:=2 to x do
begin
y:=nr;
j:=1;
while y<>1 do
begin
while y mod p[j]=0 do
begin a[j]:=a[j]+1; y:=y div p[j];end;
j:=j+1;
end;
end;
end;
b:=1;
for i:=1 to 25 do
begin
a[i]:=a[i] mod k;
if a[i]<>0 then for j:=1 to k-a[i] do
b:=b*p[i];
end;
write(g,b);
close(f);close(g);
end.