#include using namespace std; int main() { auto check = [](int64_t a, int64_t b, int64_t c) { return ((a + b) % c == 0) && ((a + c) % b == 0) && ((b + c) % a == 0); }; int64_t a, b; cin >> a >> b; int64_t ans = (1LL << 60); for (int64_t c = 1; c * c <= (a + b); c++) { if ((c == a) || (c == b)) { continue; } if ((a + b) % c == 0) { if (check(a, b, c)) { ans = min(ans, c); } if (check(a, b, (a + b) / c)) { ans = min(ans, (a + b) / c); } } } cout << ((ans == (1LL << 60)) ? -1 : ans) << endl; return 0; }