\begin{problem}{Камни}{stones.in}{stones.out}{2 секунды}

%Автор задачи: Нияз Нигматуллин
%Автор условия: Андрей Комаров

У Васи есть несколько плоских камней. Каждый камень белый с одной стороны и чёрный с другой.
Он разложил их в ряд чёрной стороной вниз. Вася догадливый и заметил, что картинка перед 
ним~--- на самом деле двоичное число. Картина переводится в двоичное число следующим образом.
Камень, лежащий белой стороной вверх считается нулём, чёрной~--- единицей.
Первый камень берётся с коэффициентом 1, второй~--- 2, третий~--- 4, и т.д.

Теперь он задумал число $n$ и хочет получить его. Однако, единственное, что он может 
делать~--- это перевернуть какой-то отрезок камней ненулевой длины. При перевороте отрезка
все камни на нём переворачиваются с чёрной стороны на белую, с белой~--- на чёрную. Однако, даже отрезки
он может переворачивать не все. Он заметил, что переворачиваемый отрезок на самом деле тоже
двоичное число. Он может переворачивать только те отрезки камней, соответствующее которым
число не превышает $k$. 

Также, Вася не хочет повторяться, и все переворачиваемые им отрезки должны быть различны. 
Его заинтересовало количество способов добиться своей цели, а именно, получить картину, 
соответствующую числу $n$. Так как такое количество может быть большим, выведите его остаток от деления на $10^9 + 7$.

\InputFile
В первой строке входного файла через пробел заданы числа $n$ ($1 \le n \le 10^{18}$) и $k$ ($1 \le k \le 10^{18}$).
 
\OutputFile
Выведите требуемое количество способов по модулю $10^9 + 7$.

\Examples
\begin{example}%
\exmp{
3 4
}{
2
}%
\end{example}

\end{problem}
