/*??


??????????1, 2, 3, ...???????????????????????????1??????????????
???10????????(10, 5, 2, 1)??4????????(4, 2, 1)?????1???????????????1?
??????(1)???????x?y???????????????(x1, x2, ... ,1)?(y1, y2, ... ,1)??????x = x1?y = y1?????????????i?j????xi ? yj????xi = yj , xi + 1 = yj + 1, xi + 2 = yj + 2,... ??????????x?y???xi????yj??
????
??????????????x?y???????????1000?
????
?????????xi?*/
int main()
{
	int Er(int , int );
    int x,y;
    cin>>x>>y;
    cout<<Er(x,y);
    return 0;
}
int Er( int x, int y )
{
	if (x==y)return x;
	else if ( x<y )return Er( y,x );
	else if ( x/2<y )return Er(x/2,y/2);
	else return Er(x/2,y);
}
