#include <bits/stdc++.h>
using namespace std;
int cnt[1111110], *a = cnt + 1000000;
int main() {
  long long n, k;
  scanf("%lld%lld", &n, &k);
  for (int i = 0; i < 60; i++) a[i] += (n >> i) & 1, k -= a[i];
  if (k < 0) {
    printf("No\n");
    return 0;
  }
  for (int i = 60; i >= -60; i--)
    if (k >= a[i]) {
      k -= a[i];
      a[i - 1] += 2 * a[i];
      a[i] = 0;
    } else {
      int Min = -61;
      while (!a[Min]) Min++;
      while (k--) a[Min]--, a[--Min] += 2;
      break;
    }
  printf("Yes\n");
  for (int i = 62; i >= -100000; i--) {
    while (a[i]) printf("%d ", i), a[i]--;
  }
}
