E. Общее число
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Введем определение функции $$$f(x)$$$: $$$$$$ \begin{matrix} f(x) & = & \left\{ \begin{matrix} \frac{x}{2} & \mbox{если } x \text{ четное} \\ x - 1 & \mbox{в противном случае } \end{matrix} \right. \end{matrix} $$$$$$

Можно заметить, что если мы выбираем некоторое число $$$v$$$ и применяем к нему функцию $$$f$$$, затем применяем функцию $$$f$$$ к числу $$$f(v)$$$, и так далее, то рано или поздно мы получим значение $$$1$$$. Выпишем все промежуточные значения на пути от $$$v$$$ до $$$1$$$ и назовем все выписанные значения $$$path(v)$$$. Например, $$$path(1) = [1]$$$, $$$path(15) = [15, 14, 7, 6, 3, 2, 1]$$$, $$$path(32) = [32, 16, 8, 4, 2, 1]$$$.

Выпишем все $$$path(x)$$$ для всех $$$x$$$ от $$$1$$$ до $$$n$$$. Перед вами стоит задача: определить максимальное число $$$m$$$ такое, что $$$m$$$ встречается хотя бы в $$$k$$$ различных $$$path(x)$$$.

Иначе говоря, нужно найти такое максимальное $$$y$$$, что $$$\left| \{ x ~|~ 1 \le x \le n, y \in path(x) \} \right| \ge k$$$.

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

В первой строке следуют два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le k \le n \le 10^{18}$$$).

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

Выведите максимальное число $$$m$$$ такое, что $$$m$$$ встречается хотя бы в $$$k$$$ различных $$$path(x)$$$.

Примеры
Входные данные
11 3
Выходные данные
5
Входные данные
11 6
Выходные данные
4
Входные данные
20 20
Выходные данные
1
Входные данные
14 5
Выходные данные
6
Входные данные
1000000 100
Выходные данные
31248
Примечание

В первом примере ответ равен $$$5$$$, так как $$$5$$$ встретится в $$$path(5)$$$, в $$$path(10)$$$ и в $$$path(11)$$$.

Во втором примере ответ равен $$$4$$$, так как $$$4$$$ встретится в $$$path(4)$$$, в $$$path(5)$$$, в $$$path(8)$$$, в $$$path(9)$$$, в $$$path(10)$$$ и в $$$path(11)$$$.

В третьем примере $$$n = k$$$, поэтому ответ равен $$$1$$$, так как $$$1$$$ это единственное число, содержащееся в путях всех чисел от $$$1$$$ до $$$20$$$.