const m=25;
p:array[1..m] 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 a:array[0..100] of longint;
nr:array[0..100000] of longint;
f,g:text;
t,i,j,x,y,n,k: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,x);
for j:=1 to m do begin
y:=p[j];
while (y<=x) do begin
inc(a[p[j]],x div y);
y:=y*p[j];
end;
end;
end;
nr[0]:=1;
nr[1]:=1;
for j:=1 to m do
while a[p[j]] mod k<>0 do begin
t:=0;
i:=1;
inc(a[p[j]]);
while (i<=nr[0]) or (t<>0) do begin
t:=t div 10+nr[i]*p[j];
nr[i]:=t mod 10;
inc(i);
end;
nr[0]:=i-2;
end;
for i:=nr[0] downto 1 do
write(g,nr[i]);
writeln(g);
close(f); close(g);
end.