func_code_string: #include <bits/stdc++.h>   using namespace std;   using ll = long long;   ll mod = 1e9 + 7;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     ll t, n, m, i, j, k;     cin >> n >> k;     vector<ll> v;     i = 0;     if (n % 2 == 1) {       v.push_back(1);       n -= 1;       i++;     }     if (n > 0) {       j = log2(n);       m = pow(2, j);       while (n > 0) {         if (m <= n) {           n -= m;           v.push_back(m);           i++;         } else {           j--;           m = pow(2, j);         }       }     }     ll x = 0, y;     if (i <= k && n == 0) {       for (j = 0; j < v.size(); j++) {         if (i == k) break;         m = v[j];         if (m == 1) continue;         v.erase(v.begin() + j);         j--;         while (m != 1) {           m /= 2;           v.push_back(m);           i++;           if (i == k) break;         }         v.push_back(m);       }       if (i == k) {         sort(v.begin(), v.end());         cout <<  YES               <<   n ;         for (i = 0; i < v.size(); i++) cout << v[i] <<    ;       } else         cout <<  NO ;     } else       cout <<  NO ;   }   