1. public static long gcd(long p, long q){
  2.         if (q==0) return p;
  3.         long r = p % q;
  4.         return Math.abs(gcd(q, r));
  5.     }