#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<set>
#include<queue>
#include<map>
#include<string>
#include<iostream>
using namespace std;
#define PB push_back
#define INS insert
#define FOR(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)
#define nMax 4010
#define bug puts("Fuck");
#define int long long
int a[33];
int dfs(int dep,int r){
if(dep == 0) return 0;
int k=(1<<dep);
int ans = 0;
if(r>=k) {
ans = a[dep-1]+dep-1;
r -= k;
if(r) ans+=dep-1;
return ans + dfs(dep,r);
}else {
return dfs(dep-1,r);
}
}
main(){
int l,r;
a[0]=0;
for(int i=1;i<33;i++) a[i] = a[i-1]*2 + (i-1)*2;
while(cin>>l>>r){
if(l>r) swap(l,r);
cout<<dfs(30,r)-dfs(30,l)<<endl;
}
return 0;
}