':type a: int
:type b: int
:rtype: int'

def getSum2(self, a, b):

    MAX = 2147483647
    MIN = 2147483648
    mask = 4294967295
    while b:
        (a, b) = (((a ^ b) & mask), (((a & b) << 1) & mask))
    return (a if (a <= MAX) else (~ (a ^ mask)))
