#include<bits/stdc++.h>
using namespace std;
int n,ret;
long long x,y,a[10000];
long long change(string s){
long long ret=0;
for(int i=0;i<s.size();i++){
ret=ret*2+s[i]-'0';
}return ret;
}int main(){
scanf("%lld%lld",&x,&y);
for(int i=1;i<=63;i++){
string a(i,'1');
for(int j=1;j<=63-i;j++){
string b(j,'0'),s("");
while(true){
s+=a;
if(s.size()>63){
break;
}a[++n]=change(s);
s+=b;
if(s.size()>63){
break;
}a[++n]=change(s);
}
}
}a[++n]=(1LL<<63)-1;
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
if(a[i]>=x&&a[i]<=y){
ret++;
}
}printf("%d",ret);
return 0;
}
求助



