11165. Бургер - це смачно
Пан Василь вирішив приготувати багатовимірний бургер для своїх гостей.
Бургер рівня \(L\) готується за правивилами:
Бургер рівня 0 це котлета.
Бургер рівня \(L\) (\(L \geq 1\)) це булочка, бургер рівня \(L - 1\), котлета, знову бургер рівня \(L-1\) і ще одна булочка складені вертикально.
Наприклад, бургери рівня 1 та 2 виглядають так: \(BPPPB\) та \(BBPPPBPBPPPBB\) (тут бургери повернуті на 90 градусів), де \(B\) і \(P\) позначають відповідно булочку та котлету.
Пан Василь приготував бургер рівня \(N\). Ненажерливий Джуді з'їв \(X\) шарів з нижньої частини бургера. Скільки котлет з'їв Джуді?
Формат вхідних даних
Вхідний потік містить цілі числа \(N,X\) (\(1 \le N \le 50\), \(1 \le X\) та не перевищує загальну кількість шарів бургера рівня \(N\)). Числа розділяються пропуском.
Формат вихідних даних
У вихідний потік вивести кількість котлет, які з'їв Джуді.
Примітка
До прикладу 1:
7 нижніх шарів бургера рівня 2 містять 4 котлети
Приклад вхідних даних
2 7
Приклад вихідних даних
4
Приклад вхідних даних
1 1
Приклад вихідних даних
0
Приклад вхідних даних
50 4321098765432109
Приклад вихідних даних
2160549382716056
Коментарі