#include #define fst(t) std::get<0>(t) #define snd(t) std::get<1>(t) #define thd(t) std::get<2>(t) #define unless(p) if(!(p)) #define until(p) while(!(p)) using ll = std::int64_t; using P = std::tuple; int A, B; bool f(int C){ return (B + C) % A == 0 && (C + A) % B == 0; } int main(){ std::cin.tie(nullptr); std::ios::sync_with_stdio(false); std::cin >> A >> B; int sum = A + B; int C = -1; for(int i=1;i*i<=sum;++i){ if(sum % i > 0){ continue; } int j = sum / i; if(f(i) && i != A && i != B){ if(C == -1 || i < C){ C = i; } } if(f(j) && j != A && j != B){ if(C == -1 || j < C){ C = j; } } } std::cout << C << std::endl; }