|| to xor