def single_number3(nums):
<EOL>ab = <NUM_LIT:0><EOL>for n in nums:<EOL><INDENT>ab ^= n<EOL><DEDENT>right_most = ab & (-ab)<EOL>a, b = <NUM_LIT:0>, <NUM_LIT:0><EOL>for n in nums:<EOL><INDENT>if n & right_most:<EOL><INDENT>a ^= n<EOL><DEDENT>else:<EOL><INDENT>b ^= n<EOL><DEDENT><DEDENT>return [a, b]<EOL>
:type nums: List[int]
:rtype: List[int]