#include #include using namespace std; using i32 = int; using i64 = long long; using i128 = __int128_t; using f64 = double; using p2 = pair; using p3 = tuple; using mint = atcoder::modint998244353; constexpr i64 inf = 1e18; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(18); _main(); } void _main() { i64 n, m; cin >> n >> m; i64 x = 0; for (i64 i = 0; i < 30; i++) { i64 a = n >> i & 1; i64 b = m >> i & 1; if (i % 2 == 0) { if (b == 1 && a == 0) { cout << "-1\n"; return; } if (b == 1) x += 1 << i; } else { if (b == 0 && a == 1) { cout << "-1\n"; return; } if (b == 1 && a == 0) x += 1 << i; } } cout << x << "\n"; }