#include using namespace std; #ifdef LOCAL #include "settings/debug.cpp" #else #define Debug(...) void(0) #endif #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; int main() { cin.tie(nullptr)->sync_with_stdio(false); ll n, m; cin >> n >> m; ll x = (n <= 40 ? min(1LL << (n - 1), m) : m); ll ans = 0; while (x > 1) { ans += x; x = (x + 1) / 2; --n; } ans += n; cout << ans << '\n'; return 0; }