\begin{problem}{QSort. ��������� ������ QSort}{qsort.in}{qsort.out}{2 �������}{64 ���������}

��� ���������� ������������������ ����� ������ ������������ ������� ���������� --- QSort. 
���� ��������� ���������, ������� ��������� ������ $a$, ��������� ������ ��������.
\vskip-2mm
\begin{verbatim}
        var a : array [1..N] of integer;

        procedure QSort(left, right : integer);
        var m, i, j, t : integer;
        begin
          m := a[(left+right) div 2];
          i := left; j := right;
          repeat
            while a[i] < m do inc(i); {������ while}
            while a[j] > m do dec(j); {������ while}
            if i <= j then begin
              t := a[i]; a[i] := a[j]; a[j] := t;
              inc(i); dec(j);
            end;
          until i > j;
          if j > left then QSort(left, j);
          if i < right then QSort(i, right);
        end;
\end{verbatim}
\vskip-2mm

���� QSort �������� ����� ������� ����������� � �������, ���������� �����, �� ������� ��� 
�������� ����� �����. ����� ��������� ����� ������ ��������� ����������� ���������, ��������� 
� ���������� ������� (�.�. ��������� ����������� ��������� � ������ � ������ while). ��������� 
�������� ���������, ������������ ����, �� ������� ������� ���������� ������� ���������� ����� 
����� ���������.

\InputFile

�� ������� ����� ������ ����� $N$ ($1 \le N \le 70\,000$).

\OutputFile

� �������� ���� ������� ������������ ����� �� 1 �� $N$, �� ������� ������� ���������� �������� 
������������ ����� ���������. ���� ����� ������������ ���������, ������� ����� �� ���.

\Example

\begin{example}
\exmp{
3
}{
1 3 2
}%
\end{example}

\end{problem}