program quicksort(output);
a: array[1..n] of integer;
procedure sort(l,r: integer);
begin {quicksort with recursion on both partitions}
i := l; j := r; x := a[(i+j) div 2];
while a[i] < x do i := i+1;
while x < a[j] do j := j-1;
begin w := a[i]; a[i] := a[j]; a[j] := w;
begin z := 1729; {generate random sequence}
begin z := (131071*z) mod 2147483647; a[i] := z
if a[i] > a[i+1] then writeln(i,a[i],a[i+1]);