11165. Бургер - це смачно


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Пан Василь вирішив приготувати багатовимірний бургер для своїх гостей.

Бургер рівня \(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

Коментарі

Ще немає коментарів.