Битовый автомат
Ральф нашёл новое оружие - битовый автомат! Этот автомат стреляет очередями бит, причем первый выстреленный бит наносит цели урон 1, а каждый следующий бит наносит цели урон в два раза больший, чем предыдущий.
Этот автомат пришёлся как нельзя кстати, когда на Ральфа внезапно обрушилось полчище кибер-жуков. Стреляя в жука, Ральф замечает, какие биты попали в цель, а какие нет. К несчастью, за годы тяжелой работы наш герой изрядно испортил себе зрение, и поэтому может распознать траекторию движения одного из бит неверно. В связи с этим реальный и замеченный Ральфом урон могут различаться. Зная количество выстреленных бит и предполагаемый урон помогите Ральфу узнать, какой минимальный и максимальный реальный урон мог быть нанесен кибер-жуку.
Входные данные
В первой строке находится два числа n и a (1 ≤ n ≤ 63, 0 ≤ a ≤ 2^n
- 1) - количество бит в коде и предполагаемый урон соответственно.
Выходные данные
Выведите два числа: минимальный и максимальный возможный реальный урон, если учесть, что Ральф мог допустить ошибку в распознании результата выстрела в не более чем одном бите. Известно, что 0 ≤ a[min]
≤ a[max]
≤ 2^n
- 1.