{
ZADATAK: proizvod
JEZIK: pascal
}
program proizvod;

var a,c:array[0..9] of longint;
		nesto,st,max,cena,marza,i,n,m:integer;
		ostaloBrojeva:integer;

procedure unos;
 var t:text;
		 q:integer;
		 ch:char;
 begin
 assign(t,'proizvod.in');reset(t);
 readln(t,n,m);
 fillchar(a,sizeOf(a),0);
 for q:=1 to n do
	begin
	read(t,ch);
	a[ord(ch)-ord('0')]:=a[ord(ch)-ord('0')]+1;
	end;
 ostaloBrojeva:=n;
 close(t);
 end;

procedure izlaz;
 var t:text;
 begin
 assign(t,'proizvod.out');rewrite(t);
 for i:= m downto 1 do
	write(t,c[i]);
 close(t);
 end;

begin

unos;

max:=9;
while a[max]=0 do max:=max-1;
cena:=max;
a[max]:=a[max]-1;
while a[max]=0 do max:=max-1;
marza:=max;
a[max]:=a[max]-1;
ostaloBrojeva:=ostaloBrojeva-2;
while ostaloBrojeva>0 do
 begin
 while a[max]=0 do max:=max-1;
 if cena<marza then	cena:=(cena*10+max) mod 100000
							 else marza:=(marza*10+max) mod 100000;
 a[max]:=a[max]-1;
 ostaloBrojeva:=ostaloBrojeva-1;
 end;

st:=1;
for i:=1 to m do st:=st*10;

nesto:=(cena*marza) mod st;

fillchar(c,sizeOf(c),0);
i:=1;
while nesto>0 do
 begin
 c[i]:=nesto mod 10;
 nesto:=nesto div 10;
 i:=i+1;
 end;

izlaz;
end.
