#include using namespace std; typedef long long ll; #define reps(i,a,b) for(int i=(a);i<(b);++i) #define rep(i,n) reps(i,0,n) #define all(x) (x).begin(),(x).end() #define INF (1000000000) #define MOD (1000000007) #define PI (acos(-1)) vector divisor(int n){ vector div; for(int i=1; i*i<=n; i++){ if(n%i==0){ div.push_back(i); if(i*i!=n){ div.push_back(n/i); } } } return div; } int main(){ int a,b; cin >> a >> b; auto v = divisor(a+b); sort(all(v)); int ans=0; rep(i,v.size()){ int c = v[i]; if((a+c)%b==0&&(b+c)%a==0&&b!=c&&a!=c){ cout << c << endl; return 0; } } cout << -1 << endl; }