#include <bits/stdc++.h>
long long r[1000000];
int main() {
  int k = 0;
  long long int a, b;
  scanf("%lld %lld", &a, &b);
  r[k++] = b;
  while (b > a) {
    int t = b % 10;
    if (t == 1) {
      b = (b - 1) / 10;
      r[k++] = b;
      continue;
    } else if (t % 2 == 1) {
      printf("NO\n");
      return 0;
    } else {
      b /= 2;
      r[k++] = b;
    }
  }
  if (b < a) {
    printf("NO\n");
  } else {
    printf("YES\n");
    printf("%d\n", k);
    for (int i = k - 1; i >= 0; i--) {
      if (i == 0)
        printf("%lld\n", r[i]);
      else
        printf("%lld ", r[i]);
    }
  }
  return 0;
}
