#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, k;
  cin >> n >> k;
  vector<int> v;
  int c(0);
  long long tn(n);
  while (tn > 0) {
    if (tn % 2 == 1) v.push_back(c);
    c++;
    tn /= 2;
  }
  if (v.size() > k) {
    cout << "No";
  } else {
    cout << "Yes\n";
    while (v.size() < k) {
      int i = v.size();
      while (i > 0 && v[i - 1] == v.back()) {
        i--;
      }
      if (int(v.size() + v.size()) - i <= k) {
        int q(0);
        for (; i < v.size(); i++) {
          v[i]--;
          q++;
        }
        while (q--) {
          v.push_back(v.back());
        }
      } else
        break;
    }
    vector<int> vn;
    for (int i = int(v.size()) - 1; i >= 0; i--) {
      vn.push_back(v[i]);
    }
    while (vn.size() < k) {
      vn.back()--;
      vn.push_back(vn.back());
    }
    for (int i = 0; i < vn.size(); i++) cout << vn[i] << " ";
  }
  return 0;
}
