#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 ans = new List(); var t = I(); while (t-- > 0) { var l = I(); var r = I(); if (r == 0) { ans.Add(0); continue; } for (var i = 32; i >= 0; i--) { var b = 1L << i; if ((r & b) == 0) continue; if ((l & b) != 0) { ans.Add(-1); } else { ans.Add(b * (b - 1)); } break; } } Console.WriteLine(string.Join(Environment.NewLine, ans));