#include using namespace std; #define int long long #define rep(i,l,r) for(int i=(int)(l);i<(int)(r);i++) #define all(x) (x).begin(),(x).end() templatebool chmax(T &a,T b){if(abool chmin(T &a,T b){if(a>b){a=b;return 1;}return 0;} typedef pair pii; typedef vector vi; typedef vector vvi; const int inf = 1LL<<60; const int mod = 1e9 + 7; const double eps = 1e-9; /*{ }*/ signed main(){ int a, b; cin >> a >> b; int t = a+b; set d; rep(i, 1, t/i+1){ if(t%i == 0){ d.insert(i); d.insert(t/i); } } for(int c : d){ if(c == a or c == b) continue; if((a+b)%c == 0 and (b+c)%a == 0 and (c+a)%b == 0){ cout << c << endl; return 0; } } cout << -1 << endl; return 0; }