def quicksort(list):
    return quicksort_helper(list,0,len(list)-1)

def quicksort_helper(list, i, j):
    
    if j <= i:
        return
    
    p = i 
    pivot = list[p]
    left = i
    right = j

    done = False
    while not done:
        while left <= right and list[left] <= pivot:
            left = left + 1
        while left <= right and list[right] >= pivot:
            right = right - 1
        
        if right < left:
            done = True
            list[p], list[right] = list[right], list[p]
        else:
            list[left], list[right] = list[right], list[left]
            
    quicksort_helper(list, i, right)
    quicksort_helper(list, left, j)
    
    return list
    

        
            
            
        

            
        
