#include <iostream>
using namespace std;
using LL = long long;
void solve() {
LL a, b;
cin >> a >> b;
LL c = abs(a - b);
if(c == 0) {
if(a == 1) {
cout << 1 << "\n";
} else {
cout << 0 << "\n";
}
} else {
LL ans = 1e16;
for(LL i = 2; i*i <= c; i++) {
if(c % i == 0) {
ans = min(ans, ((-b) % i + i) % i);
ans = min(ans, ((-b) % (c/i) + (c/i)) % (c/i));
}
}
if(c != 1)
ans = min(ans, ((-b) % c + c) % c);
if(ans == 1e16) ans = -1;
cout << ans << "\n";
}
}
int main() {
cin.tie(0)->sync_with_stdio(0);
int T = 1;
// cin >> T;
while (T--) solve();
}
// 64 位输出请用 printf("%lld")