def gcd(a,b): if b==0:return a return gcd(b,a%b) ans = 0 def dfs(m,n): global ans if m==0: ans -= 1 return if m>n: ans += m//n m = m%n else: ans += 1 m,n = n,m dfs(m,n) return m,n = map(int,input().split()) d = gcd(m,n) m = m//d n = n//d if m!=n: dfs(m,n) print(ans)