#include <bits/stdc++.h>
int main(void) {
  int a, b, i, mod, isPossible = 1, numbers[30] = {0};
  scanf("%d %d", &a, &b);
  mod = b % 2;
  numbers[0] = b;
  if (mod <= 1) {
    for (i = 1; (a < b) && (isPossible == 1); i++) {
      if (mod == 1)
        b = (b - 1) / 10;
      else if (mod % 2 == 0)
        b /= 2;
      else
        isPossible = 0;
      numbers[i] = b;
      mod = b % 10;
    }
  }
  if (a == b) {
    puts("YES");
    printf("%d\n", i);
    for (int j = i - 1; j > -1; j--) printf("%d ", numbers[j]);
  } else
    puts("NO");
  return 0;
}
