#include <bits/stdc++.h>
using namespace std;
using namespace std;
void fast() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
vector<long long> a;
long long dfs(long long x, long long y) {
  if (x > y) return 0;
  if (x == y) {
    a.push_back(x);
    return 1;
  }
  if (dfs(2 * x, y)) {
    a.push_back(x);
    return 1;
  }
  if (dfs(10 * x + 1, y)) {
    a.push_back(x);
    return 1;
  }
}
int main() {
  fast();
  long long n, m;
  cin >> n >> m;
  if (dfs(n, m)) {
    cout << "YES" << endl;
    cout << a.size() << endl;
    reverse(a.begin(), a.end());
    for (int i = 0; i < a.size(); i++) {
      cout << a[i] << " ";
    }
  } else
    cout << "NO";
  cout << endl;
  return 0;
}
