#include <bits/stdc++.h>   using namespace std;   long long int a, b;   stack<long long int> st;   bool dfs(long long int n) {     if (n > b) {       return false;     }     if (n == b) {       return true;     }     bool a1, a2;     a1 = dfs(n * 2);     if (a1) {       st.push(n * 2);       return true;     }     a2 = dfs((n * 10) + 1);     if (a2) {       st.push((n * 10) + 1);       return true;     }     return false;   }   int main() {     cin >> a >> b;     if (dfs(a)) {       cout <<  YES n ;       cout << st.size() + 1 <<   n ;       cout << a <<    ;       while (!st.empty()) {         cout << st.top() <<    ;         st.pop();       }     } else {       cout <<  NO ;     }     return 0;   }   