import math

def solve(M, N):
    g = math.gcd(M, N)
    m = M // g
    n = N // g

    steps = 0

    while True:
        current_gcd = math.gcd(m, n)
        m //= current_gcd
        n //= current_gcd

        if m == n:
            return steps
        if n == 0:
            return -1

        if m > n:
            q = m // n
            r = m % n
            if r == 0:
                steps += q - 1
                m = n
            else:
                steps += q
                m = r
        else:
            m, n = n, m
            steps += 1

    return -1

# Read input and output the result
M, N = map(int, input().split())
print(solve(M, N))