#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 if(b<a-b){
        Num df=a-b;
        Num minl=2*df, n_min=df-b;

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

        cout<<n_min<<'\n';
    }
    else cout<<(a-b)-b%(a-b)<<'\n';
}