using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); public static void Main() { var c = NList; var (a, b) = (c[0], c[1]); if (a == 0 || b == 0) { WriteLine("Yes"); return; } var ai = Bits(a); var bi = Bits(b); { var x = 0L; var y = 0L; for (var i = ai.Count - 1; i >= 0; --i) { if (ai[i] == 1) { ++x; y <<= 1; } if (i > 0) { x <<= 1; ++y; } } if (b >= y && b % 2 == y % 2) { WriteLine("Yes"); return; } } { var x = 0L; var y = 0L; for (var i = bi.Count - 1; i >= 0; --i) { if (bi[i] == 1) { x <<= 1; ++y; } if (i > 0) { ++x; y <<= 1; } } if (a >= x && a % 2 == x % 2) { WriteLine("Yes"); return; } } WriteLine("No"); return; } static List Bits(long a) { var ans = new List(); while (a > 0) { ans.Add((int)(a & 1)); a >>= 1; } return ans; } }