const b: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 a:array[1..25] of longint;
c,n,i,fa,x,k,j:longint;
f,g:text;
nr:int64;
begin
assign(f,'factoriale.in');
assign(g,'factoriale.out');
reset(f);
rewrite(g);
read(f,n,k);
for i:=1 to n do begin
read(f,c);
fa:=1;
while b[fa]<=c do begin
x:=c;
while x<>0 do begin
x:=x div b[fa];
a[fa]:=(a[fa]+x) mod k;
end;
inc(fa);
end;
end;
nr:=1;
for i:=1 to 25 do
for j:=1 to (k-a[i]) mod k do
nr:=nr*b[i];
writeln(g,nr);
close(f);
close(g);
end.