枚举b-a的因子 让lcm最小,gcd尽量大,有公因子不为1最好
ll gcd(ll a,ll b)
{
return b!=0?gcd(b,a%b):a;
}
int main()
{
IO;
ll a,b;
ll k=0;
cin>>a>>b;
if(a>b)
swap(a,b);
if(b%a==0)
return cout<<0<<endl,0;
//cha不带绝对值
ll cha=b-a,ans=0,minn=a*b/gcd(a,b);
for(int i=1;i*i<=cha;i++)
{ //gcd(b-a,a+k)
if(cha%i!=0)
continue;//枚举差值的因子
ll k=(i-a%i)%i;//i是cha的因子 若i也为a因子 k=0 使gcd更大
ll l=(a+k)/gcd(a+k,b+k)*(b+k);
if(l<minn)
{
ans=k;
minn=l;
}
k=(cha/i-a%(cha/i))%(cha/i);
l=(a+k)/gcd(a+k,b+k)*(b+k);
if(l<minn)
{
ans=k;
minn=l;
}
}
cout<<ans<<endl;
return 0;
}