#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion var n = I(); var m = I(); int Solve() { var res = 0; for (var i = 0; i < 30; i++) { var d = 1 << i; var fn = (n & d) != 0; var fm = (m & d) != 0; if (i % 2 == 0) { if (fm) { if (!fn) return -1; res |= d; } } else { if (!fm) { if (fn) return -1; } else if (!fn) res |= d; } } return res; } Console.WriteLine(Solve());