# CはA+Bの約数であるから√A+Bの範囲のループで探索(A+B) % c == 0となるcとそのときのc'= (A+B) // c A, B = map(int, input().split()) AB = A+B ans = 1 << 60 for c0 in range(1,AB+1): if c0 * c0 > AB: break if AB % c0 != 0: continue if c0 != A and c0 != B and (A+c0) % B == 0 and (B+c0) % A == 0: ans = min(ans, c0) c1 = AB // c0 if c1 != A and c1 != B and (A+c1) % B == 0 and (B+c1) % A == 0: ans = min(ans, c1) if ans == 1 << 60: print(-1) else: print(ans)