#include <bits/stdc++.h>
using namespace std;
const int N = 100000 + 7;
const int M = 1500 + 7;
const int inf = 1e9 + 7;
const long long linf = 1ll * inf * (inf - 1);
const double pi = acos(-1);
const double eps = 1e-6;
const bool multipleTest = false;
vector<int> ans;
void solve() {
  int a, b;
  cin >> a >> b;
  while (b > a) {
    ans.push_back(b);
    if (b % 10 == 1)
      b /= 10;
    else if (b % 2 == 0)
      b /= 2;
    else
      break;
  }
  if (b != a) {
    puts("NO");
  } else {
    puts("YES");
    cout << ans.size() + 1 << "\n";
    cout << a << " ";
    reverse(ans.begin(), ans.end());
    for (int i = 0; i < ans.size(); ++i) cout << ans[i] << " ";
  }
}
int main() {
  int Test = 1;
  if (multipleTest) {
    cin >> Test;
  }
  for (int i = 0; i < Test; ++i) {
    solve();
  }
}
