C. Зачёт автоматом
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
128 мегабайт
ввод
stdin
вывод
stdout

Чтобы повысить интерес студентов к своему предмету, некоторые преподаватели придумывают нестандартные творческие задания. Такие задания нравятся студентам гораздо больше скучных лекций.

В начале одной из лекций преподаватель написал мелом на доске два числа N и X. После этого он объявил студентам, что отпустит их с лекции, как только они назовут все числа Y в диапазоне 0 ≤ Y < 2N такие, что количество единиц в двоичном представлении побитовой суммы будет нечетным.

Поначалу студенты с энтузиазмом участвовали в выполнении задания, выкрикивая с мест ответы. Однако очень скоро они поняли, что уйти раньше времени с лекции не получится, потому что в задании кроется какой-то подвох...

Когда энтузиазм угас вовсе и над аудиторией повисла гробовая тишина, преподаватель пообещал зачёт автоматом тому, кто скажет, сколько всего существует подходящих значений Y в заданных ограничениях.

Помогите студентам решить эту задачу и сможете автоматом получить зачтённую задачу!

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

В единственной строке задаются числа N (1 ≤ N ≤ 100) и X (0 ≤ X ≤ 1018).

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

Выведите количество подходящих значений Y по модулю 109 + 3.

Примеры
Входные данные
2 3
Выходные данные
2
Входные данные
5 17
Выходные данные
16