private long GCD(long a, long b){
        if(b > a){
            long c = b; 
            b = a;
            a = c;
        }
        if(b == 0){
            return a;
        }else{
            return GCD(b, a % b);
        }
    }