class Solution(object):
    def mySqrt(self, x):
        if x < 2:
            return x
 
        left, right = 1, x // 2
 
        while left <= right:
            mid = (left + right) // 2
            square = mid * mid
 
            if square == x:
                return mid
            elif square < x:
                left = mid + 1
            else:
                right = mid - 1
 
        return right 
				Y2xhc3MgU29sdXRpb24ob2JqZWN0KToKICAgIGRlZiBteVNxcnQoc2VsZiwgeCk6CiAgICAgICAgaWYgeCA8IDI6CiAgICAgICAgICAgIHJldHVybiB4CiAgICAgICAgCiAgICAgICAgbGVmdCwgcmlnaHQgPSAxLCB4IC8vIDIKICAgICAgICAKICAgICAgICB3aGlsZSBsZWZ0IDw9IHJpZ2h0OgogICAgICAgICAgICBtaWQgPSAobGVmdCArIHJpZ2h0KSAvLyAyCiAgICAgICAgICAgIHNxdWFyZSA9IG1pZCAqIG1pZAogICAgICAgICAgICAKICAgICAgICAgICAgaWYgc3F1YXJlID09IHg6CiAgICAgICAgICAgICAgICByZXR1cm4gbWlkCiAgICAgICAgICAgIGVsaWYgc3F1YXJlIDwgeDoKICAgICAgICAgICAgICAgIGxlZnQgPSBtaWQgKyAxCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICByaWdodCA9IG1pZCAtIDEKICAgICAgICAKICAgICAgICByZXR1cm4gcmlnaHQg