#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
****************************************************************/