#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")