#include <bits/stdc++.h>
using namespace std;
int a, b;
int main(int argc, const char* argv[]) {
  int t[100];
  int temp = 1;
  cin >> a >> b;
  int c = b;
  while (1) {
    if (c % 2 == 0) {
      t[temp++] = c / 2;
      c = c / 2;
    } else {
      if (c % 10 != 1) {
        cout << "NO" << endl;
        return 0;
      } else {
        c = (c - 1) / 10;
        t[temp++] = c;
      }
    }
    if (c == a) {
      cout << "YES" << endl;
      cout << temp << endl;
      for (int i = temp - 1; i > 0; i--) {
        cout << t[i] << " ";
      }
      cout << b;
      cout << endl;
      break;
    }
    if (c < a) {
      cout << "NO" << endl;
      return 0;
    }
  }
  return 0;
}
