package main import ( "fmt" ) func gcd(x, y int) int { if x < y { gcd(y, x) } if y == 0 { return x } return gcd(y, x%y) } func main() { var m, n int fmt.Scan(&m, &n) g := gcd(m, n) m /= g n /= g z := 0 for m*n > 1 { if z > 100000000 { z = -1 break } if n == 1 { z += m - 1 break } if m < n { m, n = n, m z++ } else { m -= n z++ } } fmt.Println(z) }