ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2182. Битый ром

Ограничение времени: 1.0 секунды
Ограничение памяти: 256 МБ
В трактир «Адмирал Бенбоу» привезли новую партию рома — всего 2n − 1 бутылок, и каждая из них имеет свой номер от 1 до 2n − 1. Кроме того, в трактире есть 2n − 1 коробок, также пронумерованных от 1 до 2n − 1.
Джимми Гоккинс хочет разложить все бутылки рома по коробкам, при этом соблюдая необычное правило: если он кладет бутылку с номером k в коробку с тем же номером k, то появляется дополнительная бутылка, чей номер равен количеству единиц в двоичной записи числа k. Однако если это количество единиц совпадает с самим k, то новая бутылка не появляется.
Джимми решил, что будет класть бутылку с номером k только в коробку с номером k. Также ему стало интересно, сколько бутылок рома окажется в каждой из коробок с номерами ai. Помогите Джимми узнать ответ!
Problem illustration

Исходные данные

В первой строке вводится целое число n (1 ≤ n ≤ 60).
Во второй строке вводится целое число q — количество коробок, которые интересуют Джимми (1 ≤ q ≤ 10 5).
В следующей строке идут q целых чисел ai — номера коробок, которые интересны Джимми (1 ≤ iq, 1 ≤ ai ≤ 2 n − 1).

Результат

Выведите в одной строке q чисел — количество бутылок рома в коробках с номерами ai.

Пример

исходные данныерезультат
5
2
8 4
1 6

Замечания

В коробку с номером 8 попадёт одна бутылка из начального набора. В коробку с номером 4 также попадёт бутылка из начального набора и еще пять дополнительных, полученных из коробок с номерами: 30=111102, 29=111012, 27=110112, 23=101112, 15=11112
Автор задачи: Артём Кутузов
Источник задачи: Уральская командная олимпиада по программированию 2024