/* -*- coding: utf-8 -*- * * 1869.cc: No.1869 Doubling? - yukicoder */ #include #include using namespace std; /* constant */ /* typedef */ typedef long long ll; /* global variables */ /* subroutines */ /* main */ int main() { int n, m; scanf("%d%d", &n, &m); if (n <= 31) m = min(m, 1 << (n - 1)); ll sum = 0; int k = 0; while (m > 1) { sum += m; k++; m = (m & 1) ? (m + 1) / 2 : m / 2; } sum += n - k; printf("%lld\n", sum); return 0; }