#include <iostream>
#include <limits>
using namespace std;

typedef unsigned long long Num;

const Num INF = numeric_limits<Num>::max();


Num gcd(Num a, Num b)
{
    while(b){
        Num t=a%b;
        a=b;
        b=t;
    }
    return a;
}


int main()
{
    Num a,b; cin>>a>>b;

    if(b>a){ Num t=a; a=b; b=t; }

    if(a==b) cout<<"1\n";
    else{
        Num min=INF,n_min=0;

        for(Num n=1;n<=a-b;++n){
            Num x = (b+n)/gcd(a-b,(b+n)%(a-b)) * (a+n);
            if(x<min){ min=x; n_min=n; }
        }

        cout<<n_min<<'\n';
    }
}