#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int main(void) {
  int a, b;
  cin >> a >> b;
  vector<int> v;
  v.push_back(b);
  while (b > a) {
    if (b % 2 == 0) {
      b /= 2;
      v.push_back(b);
    } else if (b % 10 == 1) {
      b = (b - 1) / 10;
      v.push_back(b);
    } else {
      break;
    }
  }
  if (a == b) {
    cout << "YES" << endl;
    cout << v.size() << endl;
    for (auto i = v.rbegin(); i < v.rend(); ++i) {
      cout << *i << " ";
    }
    cout << endl;
  } else {
    cout << "NO" << endl;
  }
}
