{
ZADATAK: proizvod
JEZIK:pascal
}
var
	 f,g:text;
	 a:array[1..10] of char;
	 b:array[1..10] of char;
	 s1,s2: string;
	 maxs:string;
	 we,n,m,i:longint;
	 c,k:integer;
	 n1,n2,max,max1,drugibr,prvibr:longint;{Prepravi U int64}

	procedure quicksort(pocetak,kraj:longint);
	var delilac,pom:char; i,j:integer;
	 begin
		if pocetak<kraj then
		 begin
			delilac:=a[kraj];
			i:=pocetak;
			j:=kraj;
			while (i<j) do
			 begin
				while (a[i]<delilac) do i:=i+1;
				while (a[j]>=delilac) and (i<j) do j:=j-1;
				if i<j then
								begin
								 pom:=a[i];
								 a[i]:=a[j];
								 a[j]:=pom;
								end;
			 end;
		 pom:=a[i];
		 a[i]:=a[kraj];
		 a[kraj]:=pom;
				 quicksort(pocetak,i-1);
		 quicksort(i+1,kraj);

		 end;
	 end;
begin
 assign(f,'proizvod.in');
 reset(f);
 assign(g,'proizvod.out');
 rewrite(g);
 readln(f,n,m);
 for i:=1 to n do
 begin
 read(f,a[i]);
 end;
 quicksort(1,n);
 writeln;
{ for i:=1 to n do
 writeln(a[i]);
 readln;}
for i:=n downto 1 do
b[n-i+1]:=a[i];
s2:='';
s1:='';
	 if (n>60) then
	 begin
		 for i:=1 to n do
			 begin
				if i mod 2=0 then
					begin
					 if length(s2)>11 then delete(s2,1,1);
					 s2:=s2+b[i];
					end
				else
					begin
					 if length(s1)>11 then delete(s1,1,1);
					 s1:=s1+b[i];
					end;
			end;

	val(s1,n1,c);
	val(s2,n2,c);
	max:=n1*n2;
for i:=1 to m do
we:=we*10;
max:=max mod we;
str(max,maxs);
if m<=length(maxs) then writeln(g,maxs) else
 begin
	while m>length(maxs) do
	maxs:='0'+maxs;
	writeln(g,maxs);

end;
end
else
begin
	val(b[1],prvibr,c);
	val(b[2],drugibr,c);
	max1:=prvibr*drugibr;
	 for i:=3 to n do
		begin
		 val(b[i],k,c);
		 if (10*prvibr+k)*drugibr>(10*drugibr+k)*prvibr
				then
					begin
					max1:=(10*prvibr+k)*drugibr;
						prvibr:=10*prvibr+k;

					end
			else
			 begin
			 max1:=(10*drugibr+k)*prvibr;
					drugibr:=10*drugibr+k;

			 end;
end;



we:=1;
for i:=1 to m do
we:=we*10;
max1:=max1 mod we;
str(max1,maxs);
if m<=length(maxs) then writeln(g,maxs) else
 begin
	while m>length(maxs) do
	maxs:='0'+maxs;
	writeln(g,maxs);
 end;
end;

 close(f);
 close(g);
end.
