Program SortowaniePrzezWstawianie;{InsertionSort}

const Max=10000;
      wartownik:=-32768; {Minimalna wartość typu integer - wartość mniejsza od dowolnego elementu tablicy T}

type Mat= array[0..Max] of integer; {element na pozycji 0 będzie wartownikiem!}

procedure Czytajdane(var T:Mat; var N:integer);
var i:integer;
begin
  readln(n);
  for i:=1 to N do readln(T[i]);
end;

procedure Wynik(var T:Mat; N:integer);
var i: integer;
begin
  for i:=1 to N do writeln(T[i]);
end;

procedure InserSort(var T:Mat; N:integer);
var i,j:integer;

Procedure Zamiana(i,j:integer);
var z:integer;
begin
  z:=T[j]; T[j]:=T[i]; T[i]:=z;
end;

begin
  T[0]:=wartownik;
  for i:=2 to N do
  begin
    j:=i;
    while T[j]<T[j-1] do
    begin
      Zamiana(j,j-1);
      dec(j)
    end
  end
end;

var Tab:mat; {tablica liczb całkowitych, które należy posortować rosnąco}
    N  :integer; {liczba elementów do sortowania}

begin
  CzytajDane(Tab,N);
  InserSort(Tab,N);
  Wynik(Tab,N);
end.