#include <bits/stdc++.h>
using namespace std;
int main() {
  vector<long long> v;
  long long a, b;
  long long ans = 0, flag = 0;
  cin >> a >> b;
  while (b > a) {
    v.push_back(b);
    if (b % 2 == 0) {
      b /= 2;
      ans++;
    } else if (b % 10 == 1) {
      b = b - 1;
      b = b / 10;
      ans++;
    } else {
      flag = 1;
      break;
    }
  }
  if (flag == 1) {
    cout << "NO";
  } else if (b == a) {
    ans++;
    v.push_back(a);
    cout << "YES" << endl << ans << endl;
    long long sz = v.size();
    for (long long x = sz - 1; x >= 0; x--) {
      cout << v[x] << " ";
    }
  } else {
    cout << "NO";
  }
  return 0;
}
