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