시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB0000.000%

문제

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

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

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

입력

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

출력

Выведите требуемое количество способов по модулю $10^9 + 7$.

예제 입력 1

3 4

예제 출력 1

2