#include <stdio.h>
#include <math.h>
int main()
{
int m=1,n=1;
int i,j=0;
int zui;
while(scanf("%d%d",&m,&n)!=EOF&&m!=0&&n!=0)
{
int k=ceil(log2(n+1));
int s=pow(2,k)-1;
for(i=1;m<n;i++)
{
m=m*2;
if(m>s)
{
m=m/2;
break;
}
}
int shendu=i;
int cc=pow(2,shendu-1);
if(m<=n)
{
if(m+cc-1<n)
{
zui=(pow(2,shendu)-1);
}else{
zui=(pow(2,shendu-1)-1)+(n-m+1);
}
}else{
zui=(pow(2,shendu-1)-1);
}
printf("%d\n",zui);
}
}
0.0分
1 人评分