Когда кот Бенедикт был котёнком, он с удовольствием взбирался по шторам на гардину и гулял по ней. Собственно, он и сейчас не прочь пройтись по гардине, но предпочитает перебираться на неё со шкафа, поскольку путь по шторам по ряду причин не представляется ему безопасным. К тому же не так давно его хозяйка решила поменять шторы. Бенедикт с интересом наблюдал за процессом развешивания штор.
Каждая штора держится на $$$n$$$ крючках. К сожалению, крючки уже не очень хорошо двигаются вдоль гардины, поэтому шторы приходится вешать, почти не смещая крючки. Впрочем, шторы достаточно легкие, поэтому хозяйка кота Бенедикта действует следующим образом.
Сначала она закрепляет штору на крючках с номерами $$$1$$$ и $$$n$$$ (можете считать, что это происходит одновременно). После этого она каждый раз выбирает наиболее длинный отрезок из неиспользованных крючков и закрепляет штору в середине этого отрезка. Опишем процесс более формально.
Пусть на некотором шаге имеется некоторое количество $$$k$$$ отрезков $$$[l_1, r_1], [l_2, r_2], \ldots, [l_k, r_k]$$$, где $$$l_j$$$ и $$$r_j$$$ — номера крючков, $$$1 \lt l_1 \le r_1 \lt l_2 \le r_2 \lt \ldots \lt l_k \le r_k \lt n$$$. Для каждого такого отрезка верно, что ни на одном крючке, начиная с $$$l_j$$$ и заканчивая $$$r_j$$$, штора ещё не закреплена.
Хозяйка Бенедикта выберет тот отрезок, для которого $$$r_j - l_j$$$ максимально; если же таких отрезков несколько, выберет самый левый из них (с наименьшим $$$j$$$). Количество свободных крючков на отрезке $$$[l_j, r_j]$$$ равно $$$r_j - l_j + 1$$$. Если это количество нечётное, хозяйка Бенедикта закрепляет штору на среднем крючке (его номер $$$l_j + (r_j - l_j)/2$$$). Если же количество крючков чётное, хозяйка Бенедикта закрепляет штору на двух средних крючках (с номерами $$$l_j + (r_j - l_j - 1)/2$$$ и $$$l_j + (r_j - l_j +1)/2$$$).
Ваша задача — по заданным номерам крючков определить, на каком шаге на каждом из них была закреплена штора.
В первой строке содержатся целые числа $$$n$$$ и $$$q$$$ $$$(1 \le n \le 10^{18}, \, 1 \le q \le 10^3)$$$ — количество крючков, на которых держится штора, и количество крючков, для которых нужно определить номер шага, на котором они были использованы для закрепления шторы..
Во второй строке содержатся $$$q$$$ целых чисел $$$a_1, a_2, \dots, a_q$$$ $$$(1 \le a_i \le n)$$$ — номера крючков, для каждого из которых необходимо определить номер шага, на котором на этом крючке была закреплена штора. Гарантируется, что все номера попарно различны, иными словами $$$a_i \not= a_k$$$ для $$$i \not= k$$$.
В единственной строке через пробел выведите $$$q$$$ чисел $$$t_i$$$, где $$$t_i$$$ — номер шага, на котором крючок $$$a_i$$$ был использован для закрепления шторы.
В первых трех подзадачах применяется потестовая система оценки. В графе «Баллы» указано количество баллов за тест и в скобках максимальное количество баллов, которое можно набрать за подзадачу. Участнику сообщаются номера тестов подзадачи, которые не были пройдены.
В следующих трёх подзадачах баллы начисляются только в случае прохождения всех тестов этой подзадачи. Участнику сообщается либо номер первого непройденного теста и результат проверки на этом тесте, либо что все тесты подзадачи пройдены.
Также для некоторых подзадач требуется, чтобы программа верно решала предшествующие подзадачи. Более подробно разбиение на подзадачи показано в таблице ниже.
| Подзадача | Баллы за тест | Ограничения | Необходимые | Информация |
| (баллы | подзадачи | о проверке | ||
| за подзадачу) | ||||
| 1 | 1 (до 10) | $$$n \le 10$$$, $$$q = n$$$ | нет | полная |
| 2 | 3 (до 15) | $$$n \le 10^3$$$, | 1 | полная |
| 3 | 3 (до 15) | $$$n \le 3 \cdot 10^5$$$, | 1, 2 | полная |
| 4 | 0 (20) | Ответы $$$t_i \le 3 \cdot 10^5$$$ | 1, 2, 3 | первая ошибка |
| 5 | 0 (15) | $$$n = 2^k$$$ для $$$k$$$ > $$$0$$$ | нет | первая ошибка |
| 6 | 0 (25) | любые допустимые значения | 1, 2, 3, 4, 5 | первая ошибка |
10 101 10 2 9 3 8 4 7 5 6
1 1 5 8 3 4 6 7 2 2
9876543210 33456789120 5678912340 7891234560
5798205414 6764530002 3863296238
Первый тестовый пример.
Штора держится на $$$n = 10$$$ крючках.
Крючки будут использованы в следующем порядке:
Теперь остаётся только записать в ответ соответствующие номера шагов.
| Name |
|---|


