gcd

implemented