{
ZADATAK: proizvod
JEZIK: PASCAL
}
program proizvod;
type broj=array [0..10] of longint;
     niz=array [1..30] of integer;
var u:broj;
    n,m:longint;
    a:array[0..1] of broj;
    p,q,res:niz;
    rezerva:integer;
procedure datin;

var f:text;
    i:longint;
    x:char;
    ok:boolean;
begin
  assign (f,'proizvod.in');
  reset (f);
  readln (f,n,m);
  for i:=1 to n do
      begin
        read (f,x);
        inc (u[ord(x)-ord('0')]);
      end;
  close (f);
  if n mod 2=1 then
     begin
       ok:=false;
       i:=-1;
       while not ok do
         begin
          inc (i);
          if u[i]<>0 then
             begin
               dec (u[i]);
               rezerva:=i;
               ok:=true;
             end;
         end;
{       dec (n);}
     end;
end;

procedure ubaci (t:integer; var x:integer);

var i,j:integer;

begin
  inc (a[0,t],u[t] div 2);
  inc (a[1,t],u[t] div 2);
  j:=u[t] mod 2;
  if j<>0 then
     begin
       inc (x);
       x:=x mod 4;
       if (x=1) or (x=2) then inc (a[1,t])
          else inc (a[0,t]);
     end;
end;

procedure prebaci (t:broj;x:integer);

var i,j:integer;
    s:integer;
begin
  i:=-1;
  j:=0;
  s:=0;
  repeat
    inc(i);
    s:=s+t[i];
  until
    (s>=m) or (i=9);
  if s>=m then
  dec (t[i],s-m);
  if i<>9 then
     for j:=i+1 to 9 do
         t[j]:=0;
  if x=1 then
     begin
       j:=0;
       for i:=0 to 9 do
           while t[i]<>0 do
             begin
               dec (t[i]);
               inc (j);
               p[30-j+1]:=i;
             end;
     end else
     begin
       j:=0;
       for i:=0 to 9 do
           while t[i]<>0 do
             begin
               dec (t[i]);
               inc (j);
               q[30-j+1]:=i;
             end;
     end;
end;

procedure ubacirezervu;
var i,j:integer;
    ok:boolean;
begin
 i:=10;
 ok:=false;
 while (i<>0) and (a[1,i]=a[0,i]) do
    dec (i);
 if a[1,i]>a[0,i] then
    begin
      ok:=true;
      inc (a[0,rezerva]);
    end else inc (a[1,rezerva]);
end;
procedure solve;

var i,j:integer;
    x:integer;
begin
  x:=-1;
  for i:=9 downto 0 do
      begin
        {inc (x);
        x:=x mod 2;}
        ubaci (i,x);
      end;
  if n mod 2=1 then
     ubacirezervu;
  prebaci (a[0],1);
  prebaci (a[1],2);
end;

procedure mnozi(x,y:niz; var res:niz);

var  tmp,i,j,t:integer;

begin
  for i:=30 downto 21 do
      for j:=30 downto 21 do
          begin
            tmp:=x[i]*y[j];
            t:=30-(30-i+30-j);
            res[t]:=res[t]+tmp;
            if res[t]>9 then begin
               res[t-1]:=res[t-1]+(res[t] div 10);
               res[t]:=res[t] mod 10;
            end;
          end;
end;

procedure datout;
var f:text;
    i:integer;
begin
  assign (f,'proizvod.out');
  rewrite (f);
  for i:=30-m+1 to 30 do
      write (f,res[i]);
  close (f);
end;
begin
  datin;
  solve;
  mnozi (p,q,res);
  datout;
end.
