#include <bits/stdc++.h>
int a[100200], *c = a + 100000;
long long n, m, k;
int main() {
  scanf("%lld %lld", &n, &k);
  m = n;
  int tim = 0;
  for (int i = 0; m; ++i) {
    if (m & 1) c[i] = 1, ++tim;
    m >>= 1;
  }
  k -= tim;
  if (k < 0) {
    puts("No");
    return 0;
  }
  for (register int i = 59; i >= -60; --i)
    if (k >= c[i])
      k -= c[i], c[i - 1] += c[i] * 2, c[i] = 0;
    else {
      int minn = -60;
      while (!c[minn]) ++minn;
      while (k--) {
        c[minn]--;
        c[--minn] += 2;
      }
      break;
    }
  puts("Yes");
  for (register int i = 59; i >= -100000; --i)
    while (c[i]--) printf("%d ", i);
  puts("");
  return 0;
}
