#include <iostream>
using namespace std;
int Q(int a,int b,int answer)
{
if(a*2==b)
{
return answer+2;
}
else if(2*a+1==b)
{
return answer+3;
}
else if(2*a>b)return answer+1;
else
{
return Q(2*a,b,answer)+Q(2*a+1,b,answer)+1;
}
}
int main() {
int a, b;//求a子树结点个数
while (cin >> a >> b) {
if(a==0&&b==0)break;
cout<<Q(a,b,0)<<endl;
}
}

京公网安备 11010502036488号