# your code goes here
class Solution:
def sortColors(self, nums):
low, mid, high = 0, 0, len(nums) - 1
while mid <= high:
if nums[mid] == 0:
nums[low], nums[mid] = nums[mid], nums[low]
low += 1
mid += 1
elif nums[mid] == 1:
mid += 1
else: # nums[mid] == 2
nums[mid], nums[high] = nums[high], nums[mid]
high -= 1
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmNsYXNzIFNvbHV0aW9uOgogICAgZGVmIHNvcnRDb2xvcnMoc2VsZiwgbnVtcyk6CiAgICAgICAgbG93LCBtaWQsIGhpZ2ggPSAwLCAwLCBsZW4obnVtcykgLSAxCgogICAgICAgIHdoaWxlIG1pZCA8PSBoaWdoOgogICAgICAgICAgICBpZiBudW1zW21pZF0gPT0gMDoKICAgICAgICAgICAgICAgIG51bXNbbG93XSwgbnVtc1ttaWRdID0gbnVtc1ttaWRdLCBudW1zW2xvd10KICAgICAgICAgICAgICAgIGxvdyArPSAxCiAgICAgICAgICAgICAgICBtaWQgKz0gMQogICAgICAgICAgICBlbGlmIG51bXNbbWlkXSA9PSAxOgogICAgICAgICAgICAgICAgbWlkICs9IDEKICAgICAgICAgICAgZWxzZTogICMgbnVtc1ttaWRdID09IDIKICAgICAgICAgICAgICAgIG51bXNbbWlkXSwgbnVtc1toaWdoXSA9IG51bXNbaGlnaF0sIG51bXNbbWlkXQogICAgICAgICAgICAgICAgaGlnaCAtPSAxCg==