p1,p2=-1,0
tmp=nums[p1]
while(p2<len(nums)):
if nums[p2]<=tmp:
p1+=1
t=nums[p1]
nums[p1]=nums[p2]
nums[p2]=t
p2+=1
left,right=0,len(nums)-1
tmp=nums[left]
while(left<right):
while(left<right and nums[right]>tmp):
right-=1
nums[left]=nums[right]
while(left<right and nums[left]<=tmp):
left+=1
nums[right]=nums[left]
nums[left]=tmp