func_code_string: #include <bits/stdc++.h>   using namespace std;   long long n, l, k, ultim;   map<int, int> cnt;   int main() {     cin >> n >> k;     for (int i = 0; i <= 63; i++)       if ((n >> i) & 1) cnt[i]++, l++;     if (l > k) {       cout <<  No ;       return 0;     }     for (int i = 63; i >= -63; i--) {       if (l + cnt[i] <= k)         l += cnt[i], cnt[i - 1] += cnt[i] * 2, cnt[i] = 0;       else         break;     }     multiset<int> ms;     multiset<int>::iterator it;     for (int i = 63; i >= -63; i--)       for (int j = 0; j < cnt[i]; j++) ms.insert(i);     while (ms.size() < k) {       it = ms.begin();       int u = *it;       ms.erase(it);       ms.insert(u - 1);       ms.insert(u - 1);     }     cout <<  Yes n ;     for (auto it = ms.rbegin(); it != ms.rend(); it++) {       cout << *it <<    ;     }     return 0;   }   