Олимпиадный тренинг

Задача . D. Случайное задание


Однажды после сложной лекции старательная студентка Саша увидела исписанную парту в аудитории. Присмотревшись, она прочитала следующее: «Найдите такое целое положительное n, что среди чисел n + 1, n + 2, ..., n есть ровно m чисел, в двоичной записи которых ровно k единиц.»

Ее заинтересовало это задание, и она просит вас помочь ей его решить. Саша знает, что вы боитесь больших чисел, поэтому она гарантирует, что существует ответ не превышающий 1018.

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

В первой строке через пробел записано два целых числа m и k (0 ≤ m ≤ 1018; 1 ≤ k ≤ 64).

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

Выведите искомое число n (1 ≤ n ≤ 1018). Если ответов несколько — выведите любой.


Примеры
Входные данныеВыходные данные
1 1 1
1
2 3 2
5

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя