Состязание
Однажды состоялся большой рыцарский турнир. На нем принимало участие n рыцарей (n = 2^k для некоторого целого k), чьи имена уже забыты - историки нумеровали их просто 1, 2, ..., n.
Турнир проходил по принципу выбывания. В первом раунде рыцарь 1 побеждал рыцаря 2, рыцарь 3 побеждал 4, 5 побеждал 6 и так далее. Во втором раунде 1 выигрывал у 3, 5 выигрывал у 7 и так далее. И так продолжалось до конца турнира: в каждом раунде каждый участник сражался с ближайшим номером (существует только один вариант такого расположения противников между собой), и меньший номер всегда выигрывал. Турнир выиграл рыцарь 1, который и был объявлен чемпионом.
Предположим, что каждый участник имеет некоторый (но разный) уровень рыцарского мастерства и тот у которого он больше, всегда выигрывает дуэль. Очевидно, что чемпионом стает самый опытный. Вам следует найти всех таких рыцарей, которые могли бы иметь второе по величине мастерство.
Входные данные
Первая строка содержит количество тестов t. Далее следуют сами тесты.
Каждый тест содержит одно натуральное число n (n ≤ 2^63) - количество участников турнира.
Выходные данные
Для каждого теста вывести в отдельной строке количество возможных серебряных медалистов а также их номера в порядке возрастания.