# 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
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCgpjbGFzcyBTb2x1dGlvbjoKICAgIGRlZiBzb3J0Q29sb3JzKHNlbGYsIG51bXMpOgogICAgICAgIGxvdywgbWlkLCBoaWdoID0gMCwgMCwgbGVuKG51bXMpIC0gMQoKICAgICAgICB3aGlsZSBtaWQgPD0gaGlnaDoKICAgICAgICAgICAgaWYgbnVtc1ttaWRdID09IDA6CiAgICAgICAgICAgICAgICBudW1zW2xvd10sIG51bXNbbWlkXSA9IG51bXNbbWlkXSwgbnVtc1tsb3ddCiAgICAgICAgICAgICAgICBsb3cgKz0gMQogICAgICAgICAgICAgICAgbWlkICs9IDEKICAgICAgICAgICAgZWxpZiBudW1zW21pZF0gPT0gMToKICAgICAgICAgICAgICAgIG1pZCArPSAxCiAgICAgICAgICAgIGVsc2U6ICAjIG51bXNbbWlkXSA9PSAyCiAgICAgICAgICAgICAgICBudW1zW21pZF0sIG51bXNbaGlnaF0gPSBudW1zW2hpZ2hdLCBudW1zW21pZF0KICAgICAgICAgICAgICAgIGhpZ2ggLT0gMQo=