#include <iostream>
using namespace std;
int exchange_bottles(int bottles) {
if (bottles < 2) {
return 0;
}
int new_bottles = bottles / 2;
int remaining_bottles = bottles % 2;
return new_bottles + exchange_bottles(new_bottles + remaining_bottles);
}
int max_drinks(int n, int m) {
int initial_bottles = m / n;
return initial_bottles + exchange_bottles(initial_bottles);
}
int main() {
int n, m;
cin >> n >> m;
cout << max_drinks(n, m) << endl;
return 0;
}
/**************************************************************
Problem: 1376
User: panyuchen
Language: C++
Result: Accepted
Time:7 ms
Memory:2072 kb
****************************************************************/