unsigned int GCD(unsigned int m, unsigned int n) {
    int r ;
    if (n==m) {
        r = n ;
    } else {
        int arg1;
        int arg2;
        if (n<m) {
            arg1 = m ;
            arg2 = n ;
        } else {
            arg1 = n-m ;
            arg2 = m ;
        }
        r = GCD(arg1, arg2) ;
    }
    return r ;
}
