"use strict";

function main(input) {
  input = input.trim().split(" ");

  let W = parseInt(input[0]);
  let Y = parseInt(input[1]);

  let all = 2 ** W;

  let arr = [];
  for (let i = 0; i < all; i++) {
    arr.push(0);
  }
  for (let m = 0; m < W; m++) {
    for (let i = 0; i < all; i++) {
      if (i < all / (m * 2)) {
        arr[i] = arr[i] + 2;
      } else {
        arr[i] = arr[i] + 4;
      }
    }
  }

  for (const n of arr) {
    if (n === Y) {
      console.log("Yes");
      return;
    }
  }
  console.log("No");

  // if (Y % 2 !== 0) {
  //   console.log("No");
  //   return;
  // }
  // let can = false;
  // for (let i = 0; i < W; i++) {
  //   if (Y / 2 === W - i) {
  //     can = true;
  //     break;
  //   }
  //   if (Y >= 4) {
  //     Y = Y - 4;
  //   } else {
  //     Y = Y - 2;
  //   }
  //   if (Y == 0) {
  //     can = true;
  //     break;
  //   }
  // }
  // if (can) {
  //   console.log("Yes");
  // } else {
  //   console.log("No");
  // }
}

main(require("fs").readFileSync("/dev/stdin", "utf-8"));
