! microsoft copilot "write a quicksort function in the Imp77 language"
begin
   routine quicksort(integer array name a, integer left, integer right)
      integer i, j, pivot, temp
      i = left
      j = right
      pivot = a((left + right) // 2)
      cycle 
         i = i + 1 while a(i) < pivot
         j = j - 1 while a(j) > pivot
         exit if i > j
         temp = a(i)
         a(i) = a(j)
         a(j) = temp
         i = i + 1
         j = j - 1
      repeat
      quicksort(a, left, j) if left < j
      quicksort(a, i, right) if i < right
   end
   own integer array data(0 : 9) = 6, 5, 4, 3, 2, 1, 7, 8, 9, 0
   integer i

   printstring("Before: "); write(data(i),-1) for i = 0,1,9; newline
   quicksort(data, 0, 9)
   printstring("After:  "); write(data(i),-1) for i = 0,1,9; newline
   
end of program