Олимпиадный тренинг

Задача . A. Возведение в степень по модулю


Хорошо известна следующая задача: по заданным целым числам n и m вычислить значение следующего выражения:

,

где 2n = 2·2·...·2 (n множителей), а  — операция взятия остатка от деления x на y.

Вам предлагается решить «обратную» задачу. По заданным целым числам n и m вычислите значение следующего выражения:

.
Входные данные

Первая строка содержит целое число n (1 ≤ n ≤ 108).

Вторая строка содержит целое число m (1 ≤ m ≤ 108).

Выходные данные

Выведите единственное число — значение выражения .

Примечание

В первом примере остаток от деления 42 на 24 = 16 равен 10.

Во втором примере 58 делится на 21 = 2 без остатка, поэтому ответ 0.


Примеры
Входные данныеВыходные данные
1 4
42
10
2 1
58
0
3 98765432
23456789
23456789

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя