#include <bits/stdc++.h>
using namespace std;
map<int, int> m;
int main() {
  ios::sync_with_stdio(false);
  long long i, n, x;
  cin >> n >> x;
  for (int i = 0; i < 64; i++)
    if ((n >> i) & 1) m[i] = 1;
  x -= m.size();
  if (x < 0) {
    cout << "No";
    return 0;
  }
  for (i = 63;; i--) {
    if (x < m[i]) break;
    m[i - 1] += 2 * m[i];
    x -= m[i];
    m[i] = 0;
  }
  i = m.begin()->first;
  for (; x > 0; i--) {
    m[i]--;
    m[i - 1] = 2;
    x--;
  }
  cout << "Yes" << endl;
  for (map<int, int>::reverse_iterator it = m.rbegin(); it != m.rend(); it++)
    while (it->second--) cout << it->first << ' ';
  return 0;
}
