#include using namespace std; using ll = long long; #define rep(i, srt, end) for (long long i = (srt); i < (long long)(end); i++) void solve() { ll n, k; cin >> n >> k; const ll inf = 1e18; vector d(n+1, inf); using pl = pair; queue que; que.push({n, 0}); while(!que.empty()) { auto [m, cnt] = que.front(); que.pop(); if(cnt == k) { if(m == 1) { cout << "YES\n"; return; } } else { if(m - 3 * (k - cnt) < 1) continue; if(m % 2 == 0 && m / 2 >= 1) que.push({m / 2, cnt + 1}); if(m - 3 >= 1) que.push({m - 3, cnt + 1}); } } cout << "NO\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); solve(); return 0; }