#include <iostream>
using namespace std;
struct TreeNode{
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x):val(x),left(nullptr),right(nullptr){}
};
int thecommonparent(int &x,int &y){
if(x==y){
return x;
}
while(x!=y){
if(x<y){
if(y%2==0){
y/=2;
}
else{
y=(y-1)/2;
}
}
else{
if(x%2==0){
x/=2;
}
else{
x=(x-1)/2;
}
}
}
return x;
}
int main() {
int x, y;
while (cin >> x >> y) { // 注意 while 处理多个 case
cout<<thecommonparent(x,y)<<endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号