import math P,Q = map(int,input().split()) ans = 0 def solve(x,y): g = math.gcd(x,y) if y//g >= Q: return -1 else: return (x+y)//g left = [ ((P+1)/(Q+1) , 0),((P-1)/(Q-1) , 1),((P-1)/Q , 2),(P/(Q+1) , 3)] ansl = [] ansl.append(solve(P+1,Q+1)) ansl.append(solve(P-1,Q-1)) ansl.append(solve(P-1,Q)) ansl.append(solve(P,Q+1)) left.sort(reverse=True) for num , idx in left: if num >= P/Q: continue if ansl[idx] == -1: continue ans += ansl[idx] break right = [ ((P+1)/(Q+1) , 0),((P-1)/(Q-1) , 1),(P/(Q-1) , 2),((P+1)/Q , 3)] ansr = [] ansr.append(solve(P+1,Q+1)) ansr.append(solve(P-1,Q-1)) ansr.append(solve(P,Q-1)) ansr.append(solve(P+1,Q)) right.sort() for num , idx in right: if num <= P/Q: continue if ansr[idx] == -1: continue ans += ansr[idx] break print(ans)