Reminder: in case of any technical issues, you can use the lightweight website
m1.codeforces.com,
m2.codeforces.com,
m3.codeforces.com.
×

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

A. Modular Exponentiation

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputThe following problem is well-known: given integers *n* and *m*, calculate

where 2^{n} = 2·2·...·2 (*n* factors), and denotes the remainder of division of *x* by *y*.

You are asked to solve the "reverse" problem. Given integers *n* and *m*, calculate

Input

The first line contains a single integer *n* (1 ≤ *n* ≤ 10^{8}).

The second line contains a single integer *m* (1 ≤ *m* ≤ 10^{8}).

Output

Output a single integer — the value of .

Examples

Input

4

42

Output

10

Input

1

58

Output

0

Input

98765432

23456789

Output

23456789

Note

In the first example, the remainder of division of 42 by 2^{4} = 16 is equal to 10.

In the second example, 58 is divisible by 2^{1} = 2 without remainder, and the answer is 0.

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Dec/14/2019 14:42:37 (g2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|