#include <iostream>
#include<string>
#include<map>
#include<vector>
#include<stack>
using namespace std;
int sum = 0;//全局变量
void getsum(int m, int n) {//递归
if (m > n) {
sum += 0;
return;
} else {
sum++;//满足条件就子树结点加一
}
getsum(m * 2, n);//左子树
getsum(m * 2 + 1, n);//右子树
return;
}
int main() {
int m, n;
while (cin >> m >> n) {
if (m == 0 && n == 0)
break;
getsum(m, n);
cout << sum << endl;
sum = 0;
}
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号