//&#202;&#181;&#214;&#202;&#201;&#207;&#202;&#199;&#193;&#189;&#184;&#246;&#182;&#254;&#189;&#248;&#214;&#198;&#202;&#253;&#163;&#172;&#238;&#182;&#199;&#182;&#201;&#217;&#206;&#187;&#207;&#205;&#172;&#163;&#172;&#212;&#199;&#182;&#201;&#217;&#206;&#187;&#182;&#212;&#211;&#166;&#181;&#196;&#182;&#254;&#189;&#248;&#214;&#198;&#202;&#253;&#188;&#180;&#206;&#170;&#203;&#199;
//&#199;&#200;&#211;&#197;&#187;&#175; 



int main()
{
	int x, y, memo;
	cin >> x >> y;
	memo = y;
	do {
		do {
			if (x == y) {
				cout << x;
				return 0;
			}
			y = y >> 1;
		} while (y);
		x = x >> 1;
		y = memo;
	} while (x);
}