| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 0 | 0 | 0 | 0.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$.
3 4
2