//↓template↓ #include "bits/stdc++.h" using namespace std; #define Would #define you #define all(n) n.begin(),n.end() const long long INF = 1e18; const long long MOD = 1e9 + 7; const double pi = acos(-1); const int SIZE = 1 << 17; int dx[] = { 1,0 }, dy[] = { 0,1 }, alp[30]; long long fac[200005], finv[200005], inv[200005]; vectordij; struct edge { long long to, cost; }; vector >G; long long mod_pow(long long a, long long b) { long long res = 1; while (b) { if (b & 1) { res = res * a%MOD; } a = a * a%MOD; b >>= 1; } return res; } void addedge(int from, int to, int cost) { G[from].push_back({ to,cost }); G[to].push_back({ from,cost }); } //↑template↑ int main() { long long a, b, ans = -1; cin >> a >> b; if (2 * a == b) { ans = a * 3; } else if (2 * b == a) { ans = b * 3; } else if (3 * b == a) { ans = 2 * b; } else if (a * 3 == b) { ans = 2 * a; } else if (a % 2 == 0 && a / 2 * 3 == b) { ans = a / 2; } else if (b % 2 == 0 && b / 2 * 3 == a) { ans = b / 2; } cout << ans << endl; }