Problem10530--ABC115 —— D - Christmas

10530: ABC115 —— D - Christmas

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

In some other world, today is Christmas.

Mr. Takaha decides to make a multi-dimensional burger in his party. A level-$L$ burger ($L$ is an integer greater than or equal to $0$) is the following thing:

-   A level-$0$ burger is a patty.
-   A level-$L$ burger $(L \geq 1)$ is a bun, a level-$(L-1)$ burger, a patty, another level-$(L-1)$ burger and another bun, stacked vertically in this order from the bottom.

For example, a level-$1$ burger and a level-$2$ burger look like `BPPPB` and `BBPPPBPBPPPBB` (rotated $90$ degrees), where `B` and `P` stands for a bun and a patty.

The burger Mr. Takaha will make is a level-$N$ burger. Lunlun the Dachshund will eat $X$ layers from the bottom of this burger (a layer is a patty or a bun). How many patties will she eat?

Input

Input is given from Standard Input in the following format:

```
$N$ $X$
```

Output

Print the number of patties in the bottom-most $X$ layers from the bottom of a level-$N$ burger.

Constraints

-   $1 \leq N \leq 50$
-   $1 \leq X \leq ($ the total number of layers in a level-$N$ burger $)$
-   $N$ and $X$ are integers.

Sample 1 Input

2 7

Sample 1 Output

4
There are 4 patties in the bottom-most 7 layers of a level-2 burger (BBPPPBPBPPPBB).

Sample 2 Input

1 1

Sample 2 Output

0

The bottom-most layer of a level-1 burger is a bun.

Sample 3 Input

50 4321098765432109

Sample 3 Output

2160549382716056
A level-50 burger is rather thick, to the extent that the number of its layers does not fit into a 32-bit integer.

Source/Category