#include <iostream>
using namespace std;

typedef unsigned long long Num;

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 diff=a-b;
        Num bm=b;
        if(bm>diff) bm%=diff;

        Num minl=2*diff, n_min=diff-bm;

        Num div=1;
        while(div*div<=diff){
            if(diff%div==0){
                Num y=diff/div;
                if(bm<div){
                    if(minl>diff+div || (minl==diff+div&&n_min>div-bm)){
                        minl=diff+div; n_min=div-bm;
                    }

                }
                if(bm<y){
                    if(minl>diff+y || (minl==diff+y&&n_min>y-bm)){
                        minl=diff+y; n_min=y-bm;
                    }
                }
            }
            ++div;
        }

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