#include <iostream> using namespace std; int n,m; int f(int m){ if(m>n) return 0; if(2*m>n && 2*m+1>n) return 1; return f(2*m)+f(2*m+1)+1; } int main() { //二叉树最后一个结点是n, 现输出以m为根的子树中含有的结点总数. while(cin>>m>>n){ cout<<f(m)<<endl; } return 0; }