eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Состязание

Состязание

Однажды состоялся большой рыцарский турнир. На нем принимало участие \textbf{n} рыцарей (\textbf{n} = \textbf{2^k} для некоторого целого \textbf{k}), чьи имена уже забыты - историки нумеровали их просто \textbf{1}, \textbf{2}, ..., \textbf{n}. Турнир проходил по принципу выбывания. В первом раунде рыцарь \textbf{1} побеждал рыцаря \textbf{2}, рыцарь \textbf{3} побеждал \textbf{4}, \textbf{5} побеждал \textbf{6} и так далее. Во втором раунде \textbf{1} выигрывал у \textbf{3}, \textbf{5} выигрывал у \textbf{7} и так далее. И так продолжалось до конца турнира: в каждом раунде каждый участник сражался с ближайшим номером (существует только один вариант такого расположения противников между собой), и меньший номер всегда выигрывал. Турнир выиграл рыцарь \textbf{1}, который и был объявлен чемпионом. Предположим, что каждый участник имеет некоторый (но разный) уровень рыцарского мастерства и тот у которого он больше, всегда выигрывает дуэль. Очевидно, что чемпионом стает самый опытный. Вам следует найти всех таких рыцарей, которые могли бы иметь второе по величине мастерство. \InputFile Первая строка содержит количество тестов \textbf{t}. Далее следуют сами тесты. Каждый тест содержит одно натуральное число \textbf{n} (\textbf{n} ≤ \textbf{2^63}) - количество участников турнира. \OutputFile Для каждого теста вывести в отдельной строке количество возможных серебряных медалистов а также их номера в порядке возрастания.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
2
2
4
Выходные данные #1
1 2
2 2 3
Источник 2013 Petrozavodsk Winter Training Camp, Jagiellonian University Contest, Январь 25, Задача J