#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base ::sync_with_stdio(0);
  cin.tie(0);
  long long k, n;
  cin >> n >> k;
  vector<long long> v(101, 0);
  long long t = n;
  long long i = 0, j = 0;
  while (t > 0) {
    if (t % 2 == 1) {
      v[i + 25] = 1;
      j++;
    }
    t = t / 2;
    i++;
  }
  if (j > k) {
    cout << "No";
  } else {
    for (long long x = 100; x > 0; x--) {
      if (v[x] != 0) {
        if (v[x] <= k - j) {
          t = min(v[x], (k - j));
          j = j + t;
          v[x - 1] = v[x - 1] + 2 * t;
          v[x] = v[x] - t;
        } else {
          break;
        }
      }
    }
    for (t = 0; t < 100; t++) {
      if (v[t] > 0) {
        break;
      }
    }
    int p = 0;
    cout << "Yes\n";
    for (long long i = 100; i > t; i--) {
      while (v[i] > 0) {
        cout << i - 25 << " ";
        v[i]--;
      }
    }
    while (v[t] > 1) {
      cout << t - 25 << " ";
      v[t]--;
    }
    if (j == k) {
      cout << t - 25 << " ";
    } else {
      t--;
      while (j < k) {
        cout << t - 25 << " ";
        t--;
        j++;
      }
      cout << t - 24 << " ";
    }
  }
}
