{
ZADATAK: proizvod
JEZIK: pascal
}

program proizvod;
const
  maxn = 100000;
  MaxDuz = 100000;
type
  arr = array [1..maxn] of integer;
  VBroj = array [1..MaxDuz] of integer;
var
  N : longint;
  M,i : integer;
  cifra : arr;
  br1,br2,br11,br22,konac : VBroj;
  k : longint;
  neparan : boolean;

procedure Unos;
var
  f : text;
  c : char;
  i : integer;
begin
  assign(f,'proizvod.in');
  reset(f);
  readln(f, N,M);
  for i := 1 to N do
    begin
      read(f,c);
      cifra[i] := ord(c) - ord('0');
    end;
  close(f);
end;

procedure DodeliVBrojBr(var a:VBroj; b:integer);
var
  i,j:longint;
begin
  i:=0;
  while b>0 do
    begin
      i:=i+1;
      a[i]:=b mod 10;
      b:=b div 10;
    end;
  for j:=i+1 to MaxDuz do
    a[j]:=0;
end;

procedure PomnoziVBroj;
var
  i,j,prenos,br:longint;
begin
  dodelivbrojbr(konac,0);
  for i:=1 to 10 do
    begin
      prenos:=0;
      for j:=1 to 10 do
        if (br22[i]<>0) or (prenos <> 0) then
          if (br11[j]<>0) or (prenos<>0) then
             begin
               br:=konac[i+j-1]+br22[i]*br11[j]+prenos;
               konac[i+j-1]:=br mod 10;
               prenos:=br div 10;
             end;
    end;
end;

procedure QuickSort(var A: arr; Lo, Hi: Integer);

procedure Sort(l, r: Integer);
var
  i, j, x, y: integer;
begin
  i := l; j := r; x := a[(l+r) DIV 2];
  repeat
    while a[i] < x do i := i + 1;
    while x < a[j] do j := j - 1;
    if i <= j then
    begin
      y := a[i]; a[i] := a[j]; a[j] := y;
      i := i + 1; j := j - 1;
    end;
  until i > j;
  if l < j then Sort(l, j);
  if i < r then Sort(i, r);
end;

begin {QuickSort};
  Sort(Lo,Hi);
end;

procedure Solve;
var
  i,j : longint;
begin
  neparan := false;
  i:=N;
  br1[1] := cifra[i];
  br2[1] := cifra[i-1];
  i := i-2;
  k := 2;
  while i>1 do
    begin
      br2[k]:=cifra[i];
      br1[k]:=cifra[i-1];
      i := i -2;
      inc(k);
    end;
  if i = 1 then
    begin
      br2[k]:=cifra[i];
      neparan := true;
    end
  else k:=k-1;
end;

procedure Ispis;
var
i : integer;
f : text;
begin
  assign(f,'proizvod.out');
  rewrite(f);
  for i:= M downto 1 do
    write(f,konac[i]);
  close(f);
end;

procedure Kontra;
var
i,j : longint;
begin
  j := 1;
  if neparan then
    begin
      br22[k]:=br2[j];
      k := k-1;
    end;
  for i:=k downto 1 do
    begin
      br11[i]:=br1[j];
      br22[i]:=br2[j];
      inc(j);
    end;

end;

begin
  Unos;
  QuickSort(cifra,1,N);
  {for i:=1 to n do
  writeln(cifra[i]);}
  Solve;
  Kontra;
  PomnoziVBroj;
  Ispis;
end.
