#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int a, b, i, n, ar[100000], k;
  scanf("%lld%lld", &a, &b);
  ar[0] = b;
  for (k = 1; a < b;) {
    if (b % 2 == 0) {
      b = b / 2;
      ar[k] = b;
      k++;
    } else if (b % 2 == 1 && b % 10 == 1) {
      b = (b - 1) / 10;
      ar[k] = b;
      k++;
    } else if (b % 2 != 0 && b % 10 != 1) {
      printf("NO\n");
      return 0;
    }
    if (b == a) {
      printf("YES\n%lld\n", k);
      for (i = k - 1; i >= 0; i--) {
        printf("%lld", ar[i]);
        if (i != 0) {
          printf(" ");
        } else {
          printf("\n");
        }
      }
      return 0;
    }
    if (b < a) {
      printf("NO\n");
      return 0;
    }
  }
}
