#include <bits/stdc++.h>
using namespace std;
int main() {
  int a, b, f = 0, ctr = 0, r;
  vector<int> v;
  cin >> a >> b;
  int n = b;
  v.push_back(b);
  while (b >= a) {
    if (a == b && f == 0) {
      f = 1;
      cout << "YES" << endl;
      cout << "0" << endl;
      break;
    }
    r = n % 10;
    n = n / 10;
    if (r == 1) {
      b /= 10;
      n = b;
      v.insert(v.begin(), b);
    } else if (r % 2 == 0) {
      b /= 2;
      n = b;
      v.insert(v.begin(), b);
    } else
      break;
    if (a == b) {
      f = 1;
      cout << "YES" << endl;
      cout << v.size() << endl;
      for (auto x : v) cout << x << " ";
    }
    ctr++;
  }
  if (f == 0) cout << "NO" << endl;
}
