def quickmothod(li,low,high):
left=low
right=high
if left< right:
key=li[left]
while left<right:
while left<right and li[right]>=key:
right -= 1
li[right],li[left]=li[left],li[right]
while left<right and li[left]<=key:
left += 1
li[left],li[right]=li[right],li[left]
quickmothod(li,low,left-1)
quickmothod(li,right+1,high)
li = [5,18,22,33,100,0,15,12,15,0,22,33,0,22,0,22]
quickmothod(li,0,len(li)-1)
print(li)
# def quick(li,p,q):
# left=p
# right=q
# if left<right:
# while left<right:
# while li[left]<li[right] and li[left]<=li[0]:
# left+=1
# li[left],li[right]= li[right],li[left]
# while li[left]<li[right] and li[right]>=li[0]:
# right-=1
# li[left],li[right]= li[right],li[left]
# quick(li,p,left-1)
# quick(li,right+1,q)
# li=[10,20,30,1,2,3]
# quick(li,0,len(li)-1)
# print(li)