#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'; }