use std::io::{Read, stdin}; fn dfs(a: i64, b: i64) -> bool { if a == 0 && b == 0 { return true; } let mut ret = false; if (a & 1) == 0 && b != 0 { ret |= dfs(a >> 1, b - 1); } if (b & 1) == 0 && a != 0 { ret |= dfs(a - 1, b >> 1); } ret } fn main() { let mut buf = String::new(); stdin().read_to_string(&mut buf).unwrap(); let mut tok = buf.split_whitespace(); let mut get = || tok.next().unwrap().parse::().unwrap(); let a = get(); let b = get(); if a % 2 != 0 && b % 2 != 0 { println!("No"); return; } if dfs(a, b) { println!("Yes"); } else { println!("No"); } }