gcd.c