#include using namespace std; using ll=int64_t; #define int ll #define FOR(i,a,b) for(int i=int(a);i CerrDummy& operator<<(CerrDummy&cd,const T&){ return cd; } using charTDummy=char; using traitsDummy=char_traits; CerrDummy& operator<<(CerrDummy&cd,basic_ostream&(basic_ostream&)){ return cd; } #define cerr cerrDummy #endif #define REACH cerr<<"reached"<; using vi=vector; using ld=long double; template ostream& operator<<(ostream& os,const pair& p){ os<<"("< ostream& operator <<(ostream& os,const vector& v){ os<<"{"; REP(i,(int)v.size()){ if(i)os<<","; os< void chmax(T& a,U b){ if(a void chmin(T& a,U b){ if(b T Sq(const T& t){ return t*t; } //#define CAPITAL void Yes(bool ex=true){ #ifdef CAPITAL cout<<"YES"< memo; bool calc(int a,int b){ if(a==0||b==0) return true; if(a<0||b<0) return false; if(memo.count(pi(a,b))) return memo[pi(a,b)]; bool res=false; if(a%2==0) res|=calc(a/2,b-1); if(b%2==0) res|=calc(a-1,b/2); return memo[pi(a,b)]=res; } signed main(){ int a=read(),b=read(); if(calc(a,b)) Yes(); else No(); }