using System; using static System.Console; using System.Linq; using System.Collections.Generic; using System.Runtime.Intrinsics.Arm; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static string[] SList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => ReadLine()).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; if (c[0] == c[1]) { WriteLine(1); return; } if (((c[0] & c[1]) != c[0]) || ((c[0] | c[1]) != c[1])) { WriteLine(0); return; } var ans = 1; for (var i = 0; i < 31; ++i) if (((c[0] >> i) & 1) != ((c[1] >> i) & 1)) ans <<= 1; WriteLine(ans >> 1); } }