#include #define ALL(v) std::begin(v),std::end(v) using lint=long long; using lubl=long double; std::map,lint>map; bool ok(lint x,lint y){ if(auto f=map.find({x,y});f!=map.end())return f->second; return map[{x,y}]=!x&&!y||x%2==0&&y&&ok(x/2,y-1)||x&&y%2==0&&ok(x-1,y/2); } int main(){ std::cin.tie(nullptr);std::ios_base::sync_with_stdio(false); std::cout.setf(std::ios_base::fixed);std::cout.precision(15); lint a,b;std::cin>>a>>b; std::cout<<(ok(a,b)?"Yes":"No")<<'\n'; }