#include <bits/stdc++.h>
using namespace std;
bool transform(int a,int b,int i,vector<int>update){
if(a>b){
return false;
}
if(a==b){
update.push_back(b);
return true;
}
if(transform(a*2,i+1,b,update)){
update.push_back(a);
return true;
}
if(transform(a*10+1,i+1,b,update)){
update.push_back(a);
return true;
}
return false;
}
int main() {
int a,b;
cin>>a>>b;
vector<int>update;
int i = 1;
if(transform(a,b,i,update)){
cout<<"Yes"<<i<<endl;
}
else
cout<<"NO";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIHRyYW5zZm9ybShpbnQgYSxpbnQgYixpbnQgaSx2ZWN0b3I8aW50PnVwZGF0ZSl7CgkKCWlmKGE+Yil7CgkJcmV0dXJuIGZhbHNlOwoJfQoJCglpZihhPT1iKXsKCQl1cGRhdGUucHVzaF9iYWNrKGIpOwoJCXJldHVybiB0cnVlOwoJfQoJCglpZih0cmFuc2Zvcm0oYSoyLGkrMSxiLHVwZGF0ZSkpewoJCXVwZGF0ZS5wdXNoX2JhY2soYSk7CgkJcmV0dXJuIHRydWU7Cgl9CglpZih0cmFuc2Zvcm0oYSoxMCsxLGkrMSxiLHVwZGF0ZSkpewoJCXVwZGF0ZS5wdXNoX2JhY2soYSk7CgkJcmV0dXJuIHRydWU7Cgl9CnJldHVybiBmYWxzZTsKfQppbnQgbWFpbigpIHsKCWludCBhLGI7CgljaW4+PmE+PmI7Cgl2ZWN0b3I8aW50PnVwZGF0ZTsKCWludCBpID0gMTsKCWlmKHRyYW5zZm9ybShhLGIsaSx1cGRhdGUpKXsKCQkKCQljb3V0PDwiWWVzIjw8aTw8ZW5kbDsKCX0KCWVsc2UKCQoJY291dDw8Ik5PIjsKCXJldHVybiAwOwp9