#include <bits/stdc++.h>
using namespace std;
int main() {
  int a, b;
  vector<int> ans;
  scanf("%d %d", &a, &b);
  ans.push_back(b);
  while (a != b) {
    if (b % 2 == 1 and b > 10 and
        to_string(b)[to_string(b).size() - 1] == '1') {
      b = (b - 1) / 10;
      ans.push_back(b);
    } else if (b % 2 == 0) {
      b /= 2;
      ans.push_back(b);
    } else {
      printf("NO");
      break;
    }
    if (b < a) {
      printf("NO");
      break;
    }
  }
  if (a == b) {
    printf("YES\n");
    sort(ans.begin(), ans.end());
    printf("%zu\n", ans.size());
    for (auto i : ans) {
      printf("%d ", i);
    }
  }
  return 0;
}
