#include <bits/stdc++.h>
using namespace std;
long long a, b;
int ans[60];
void dfs(int dep) {
  long long cur = ans[dep - 1];
  long long x = cur << 1;
  long long y = cur * 10 + 1;
  if (x == b || y == b) {
    puts("YES");
    cout << dep + 1 << endl;
    for (int i = 0; i < dep; i++) cout << ans[i] << ' ';
    cout << b << endl;
    exit(0);
  }
  ans[dep] = x;
  if (x < b) dfs(dep + 1);
  ans[dep] = y;
  if (y < b) dfs(dep + 1);
}
int main() {
  cin >> a >> b;
  ans[0] = a;
  dfs(1);
  puts("NO");
  return 0;
}
