# 互いに素でなければ無限にあるので-1 # 互いに素な場合は、LCMまでに表せない数が何個あるかでよいか # LCM以後表せることは実験で確認した # 実験するとLCM未満かなり前からすべて表せそうではあるが # LCMまでに表せる数は1次元dpで計算するか from math import gcd A, B = map(int, input().split()) g = gcd(A, B) #print('g', g) if g != 1: print(-1) else: LCM = A*B//g count = [0]*(LCM+1) count[A] = 1 count[B] = 1 for i in range(LCM+1): if count[i] == 1: count[min(LCM, i+A)] = 1 count[min(LCM, i+B)] = 1 ans = LCM - sum(count) #print(LCM, count) print(ans)