gcd lcm etc.