#include #include #include #include #include #include int main() { int n, m; std::cin >> n >> m; if (n % 2 == 0) { std::cout << 1LL * n * m << "\n"; return 0; } long long ans = 0; int msb = 31 - __builtin_clz(m); int free_elements = 0; for (int i = msb; i >= 0; i--) { if (m >> i & 1) { ans += 1LL * (n - 1) * (1 << i); free_elements += 1; if (free_elements >= n) { free_elements = n; } } else { ans += 1LL * (free_elements / 2 * 2) * (1 << i); } } std::cout << ans << "\n"; return 0; }