add the 3-way quicksort