Задачи
Инновационная вешалка
Инновационная вешалка
Инновационная вешалка состоит из $n$ уровней, состоящих из связанных между собой стержней. Уровень $i$ (при $i = [0, n-1]$ ) состоит из $2^i$ горизонтальных стержней.
Середина стержня на уровне $0$ прикреплена к стене. На всех остальных уровнях середина $j$-го (при $j= [1, 2^i]$) стержня прикреплена к левой части $j/2$-го стержня (округление вверх при делении на $2$) предыдущего уровня при нечетном $j$, или к правой части того же стержня при четном $j$. На обоих концах каждого стержня на последнем уровне висят крючки для одежды. Крючки пронумерованы слева направо числами от $1$ до $2^n$.
Например, вешалка при $n$ = $3$ выглядит следующим образом:
\includegraphics{https://static.e-olymp.com/content/59/59dc0f4b834bc8da66981e273e8938017ee59d8e.png}
Маша хочет повесить все свои куртки на свою новую вешалку. Вес каждой куртки равен единице. Чтобы не сломать хрупкую конструкцию, она должна вешать куртки в таком порядке, чтобы разница между общим весом на левом конце любого стержня и общим весом на правом конце того же стержня после добавления очередной куртки была равна $0$ либо $1$. (По законам физики разница может быть равна и $-1$, однако Маша считает перекос в правую сторону ужасным.) Стержни такие тонкие, что их весом можно пренебречь. Маша наслышана о вашем профессионализме и просит вашей помощи. Напишите программу, которая по заданным $n$ и $k$ находит номер крючка по модулю $10^9+7$, на который Маша должна повесить куртку на $k$-м шаге.
\InputFile
На единственной строке заданы два целых числа $n$ и $k$ .
\OutputFile
Выведите одно целое число — номер крючка, на который Маша должна повесить куртку на $k$-м шаге по модулю $10^9+7$.
\subsection{Ограничения}
\begin{itemize}
\item $n$ $[1, 10^6]$
\item $k$ $[1, min(2^n, 10^18)]$
\end{itemize}
\Note
В первом примере крючки должны быть использованы в следующем порядке: $1$, $5$, $3$, $7$, $2$, $6$, $4$, $8$.
На втором шаге Маша должна повесить свою куртку на крючок номер $5$.
Во втором примере порядок использования крючков такой: $1$, $17$, $9$, $25$, $5$, $21$, $13$, $29$, $3$ , $19$ , и т.д.
Входные данные #1
3 2
Выходные данные #1
5
Входные данные #2
5 10
Выходные данные #2
19