let gcd = Z.gcd