#define PLOTO kingInTheNorth & lordCommanderOfTheNightWatch
// Night gathers, and now my watch begins. It shall not end until my death.
// I am the sword in the darkness.
// I am the watcher on the walls.
// I am the shield that guards the realms of men.
// I pledge my life and honor to the Night's Watch, for this night and all the nights to come.
#include "bits/stdc++.h"
#define int long long
#define vi vector< int >
#define pi pair< int , int >
#define fastIO() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define all(x) x.begin(),x.end()
#define endl '\n'
#define MOD = 1e9+7
using namespace std;
template<typename typC,typename typD> istream &operator>>(istream &cin,pair<typC,typD> &a) { return cin>>a.first>>a.second; }
template<typename typC> istream &operator>>(istream &cin,vector<typC> &a) { for (auto &x:a) cin>>x; return cin; }
template<typename typC,typename typD> ostream &operator<<(ostream &cout,const pair<typC,typD> &a) { return cout<<a.first<<' '<<a.second; }
template<typename typC> ostream &operator<<(ostream &cout,const vector<typC> &a) { int n=a.size(); if (!n) return cout; cout<<a[0]; for (int i=1; i<n; i++) cout<<' '<<a[i]; return cout; }
void itIsADream(){
int a,b; cin >> a >> b;vi ans;
ans.push_back(b);
while(a < b){
int x = b%10;
if(x%2 == 0){
b /= 2;
} else if(x == 1){
b /= 10;
} else {
cout << "NO\n";
return;
}
ans.push_back(b);
}
if(a == b){
cout << "YES\n" << ans.size() << "\n";
for(int i = ans.size()-1; i >= 0;i--){
cout << ans[i] << " ";
}
} else {
cout << "NO\n";
}
}
int32_t main()
{
fastIO();
int t = 1;
// cin >> t;
while (t--)
{
itIsADream();
}
return 0;
}
I2RlZmluZSBQTE9UTyBraW5nSW5UaGVOb3J0aCAmIGxvcmRDb21tYW5kZXJPZlRoZU5pZ2h0V2F0Y2gKIAovLyBOaWdodCBnYXRoZXJzLCBhbmQgbm93IG15IHdhdGNoIGJlZ2lucy4gSXQgc2hhbGwgbm90IGVuZCB1bnRpbCBteSBkZWF0aC4KLy8gSSBhbSB0aGUgc3dvcmQgaW4gdGhlIGRhcmtuZXNzLgovLyBJIGFtIHRoZSB3YXRjaGVyIG9uIHRoZSB3YWxscy4KLy8gSSBhbSB0aGUgc2hpZWxkIHRoYXQgZ3VhcmRzIHRoZSByZWFsbXMgb2YgbWVuLgovLyBJIHBsZWRnZSBteSBsaWZlIGFuZCBob25vciB0byB0aGUgTmlnaHQncyBXYXRjaCwgZm9yIHRoaXMgbmlnaHQgYW5kIGFsbCB0aGUgbmlnaHRzIHRvIGNvbWUuCiAKI2luY2x1ZGUgImJpdHMvc3RkYysrLmgiCiAKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgdmkgdmVjdG9yPCBpbnQgPgojZGVmaW5lIHBpIHBhaXI8IGludCAsIGludCA+CiNkZWZpbmUgZmFzdElPKCkgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCksY2luLnRpZSgwKSxjb3V0LnRpZSgwKTsKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLHguZW5kKCkKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBNT0QgPSAxZTkrNwogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKdGVtcGxhdGU8dHlwZW5hbWUgdHlwQyx0eXBlbmFtZSB0eXBEPiBpc3RyZWFtICZvcGVyYXRvcj4+KGlzdHJlYW0gJmNpbixwYWlyPHR5cEMsdHlwRD4gJmEpIHsgcmV0dXJuIGNpbj4+YS5maXJzdD4+YS5zZWNvbmQ7IH0KdGVtcGxhdGU8dHlwZW5hbWUgdHlwQz4gaXN0cmVhbSAmb3BlcmF0b3I+Pihpc3RyZWFtICZjaW4sdmVjdG9yPHR5cEM+ICZhKSB7IGZvciAoYXV0byAmeDphKSBjaW4+Png7IHJldHVybiBjaW47IH0KdGVtcGxhdGU8dHlwZW5hbWUgdHlwQyx0eXBlbmFtZSB0eXBEPiBvc3RyZWFtICZvcGVyYXRvcjw8KG9zdHJlYW0gJmNvdXQsY29uc3QgcGFpcjx0eXBDLHR5cEQ+ICZhKSB7IHJldHVybiBjb3V0PDxhLmZpcnN0PDwnICc8PGEuc2Vjb25kOyB9CnRlbXBsYXRlPHR5cGVuYW1lIHR5cEM+IG9zdHJlYW0gJm9wZXJhdG9yPDwob3N0cmVhbSAmY291dCxjb25zdCB2ZWN0b3I8dHlwQz4gJmEpIHsgaW50IG49YS5zaXplKCk7IGlmICghbikgcmV0dXJuIGNvdXQ7IGNvdXQ8PGFbMF07IGZvciAoaW50IGk9MTsgaTxuOyBpKyspIGNvdXQ8PCcgJzw8YVtpXTsgcmV0dXJuIGNvdXQ7IH0KIAogCiAKdm9pZCBpdElzQURyZWFtKCl7CiAgICBpbnQgYSxiOyBjaW4gPj4gYSA+PiBiO3ZpIGFuczsKICAgIGFucy5wdXNoX2JhY2soYik7CiAgICB3aGlsZShhIDwgYil7CiAgICAgICAgaW50IHggPSBiJTEwOwogICAgICAgIGlmKHglMiA9PSAwKXsKICAgICAgICAgICAgYiAvPSAyOwogICAgICAgIH0gZWxzZSBpZih4ID09IDEpewogICAgICAgICAgICBiIC89IDEwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvdXQgPDwgIk5PXG4iOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGFucy5wdXNoX2JhY2soYik7CiAgICB9CiAgICBpZihhID09IGIpewogICAgICAgIGNvdXQgPDwgIllFU1xuIiA8PCBhbnMuc2l6ZSgpIDw8ICJcbiI7CiAgICAgICAgZm9yKGludCBpID0gYW5zLnNpemUoKS0xOyBpID49IDA7aS0tKXsKICAgICAgICBjb3V0IDw8IGFuc1tpXSA8PCAiICI7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICBjb3V0IDw8ICJOT1xuIjsKICAgIH0KfQogCmludDMyX3QgbWFpbigpCnsKICAgIGZhc3RJTygpOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIGl0SXNBRHJlYW0oKTsKICAgIH0KICAgIHJldHVybiAwOwp9