gcd xor