const c:array[1..25] of qword=(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 v:array[1..25] of longint;
s:qword;
f,g:text; x,n,k,q,i,j,y,w:integer;
nr:longint;
begin
assign(f,'factoriale.in'); reset(f);
assign(g,'factoriale.out'); rewrite(g);
read(f,n,k);
for i:=1 to n do begin
read(f,y);
for w:=2 to y do begin
x:=w;
j:=1;
while x<>1 do begin
while x mod c[j]=0 do begin inc(v[j]); x:=x div c[j]; end;
inc(j);
end;
end;
end;
s:=1;
for i:=1 to 25 do
if v[i]<>0 then
if v[i] mod k<>0 then begin
nr:=(v[i] div k+1)*k-v[i];
for q:=1 to nr do s:=s*c[i];
end;
write(g,s);
close(g);
end.