var
  a:array [0..10001] of longint;
  n,m,i,p,q:longint;

procedure swap(var a,b:longint);
var
  t:longint;
begin
  t:=a;
  a:=b;
  b:=t;
end;

procedure kp(l,r:longint);
var
  i,j,x:longint;
begin
  i:=l;
  j:=r;
  x:=a[(l+r) div 2];
  repeat
    while a[i]<x do inc(i);
    while x<a[j] do dec(j);
    if i<=j then
      begin
        swap(a[i],a[j]);
        inc(i);
        dec(j);
      end;
  until i>j;
  if i<r then kp(i,r);
  if l<j then kp(l,j);
end;

begin
  readln(n);
  readln(m);
  for i:=1 to n do
    read(a[i]);
  for i:=1 to m do
    begin
      p:=n-1;
      while a[p]>a[p+1] do dec(p);
      q:=p+1;
      while (q<=n) and (a[q]>a[p]) do
        inc(q);
        dec(q);
        swap(a[p],a[q]);
        kp(p+1,n);
    end;
  for i:=1 to n-1 do
    write(a[i],' ');
  writeln(a[n]);
end.
/**************************************************************
	Problem: 2247
	User: admin
	Language: Pascal
	Result: Wrong Answer
****************************************************************/