func_code_string: #include <bits/stdc++.h>   using namespace std;   map<int, int> mp;   int main() {     long long n;     int k, cnt = 0;     scanf( %lld %d , &n, &k);     for (int i = 0; i < 63; i++) {       if (n >> i & 1) {         mp[i] = 1;         ++cnt;       }     }     if (cnt > k) return puts( No ), 0;     puts( Yes );     int st, pre;     for (int i = 62; i >= -62; i--) {       if (mp[i] + cnt <= k) {         pre = i - 1;         mp[i - 1] += 2 * mp[i];         cnt += mp[i];         mp[i] = 0;       } else         break;     }     int x;     for (int i = -62; i < 62; i++) {       if (mp.count(i)) {         x = i;         break;       }     }     vector<int> v;     int res = k - cnt;     if (res > 0) {       --mp[x];       for (int i = 1; i <= res; i++) v.push_back(x - i);       v.push_back(x - res);     }     for (int i = -62; i < 62; i++)       for (int j = 0, y = mp[i]; j < y; j++) v.push_back(i);     sort(v.begin(), v.end(), greater<int>());     for (int i = 0; i < v.size(); i++)       printf( %d%c , v[i],    n [i == v.size() - 1]);     return 0;   }   