def isPrime(n):
    if n==2 or n==3: return True
    if n%2==0 or n<2: return False
    for i in range(3,int(n**0.5)+1,2):
        if n%i==0:
            return False    
    return True

def gcd(a, b):
    while b:      
        a, b = b, a % b
    return a

def lcm(a, b):
    return a * b // gcd(a, b)

a, b = sorted(map(int, raw_input().split()))
if(a == b or a == 0):
    print 1
elif(a == 1 or (a < b-a)):
    if(isPrime(a) and isPrime(b)):  
        n = 1
        while n < b:
            an = a + n
            bn = b + n
            if(bn % an == 0):
                print n
                break
            n = n + 1
    else:
        print (b-a) % a
else:
    print b-a - a%(b-a)