Змагання#5551

Змагання

1 секунда
64 мегабайти
Легка

Одного разу відбувся великий лицарський турнір. У ньому брали участь лицарів (n = 2^k для деякого цілого ), чиї імена вже забуті — історики нумерували їх просто 1, 2, \ldots, n.

Турнір проходив за принципом вибування. У першому раунді лицар перемагав лицаря , лицар перемагав , перемагав і так далі. У другому раунді перемагав , перемагав і так далі. І так продовжувалося до кінця турніру: у кожному раунді кожен учасник бився з найближчим номером (існує лише один варіант такого розташування супротивників між собою), і менший номер завжди перемагав. Турнір переміг лицар , який і був оголошений чемпіоном.

Припустимо, що кожен учасник має певний (але різний) рівень лицарської майстерності, і той, у кого він більший, завжди перемагає у дуелі. Очевидно, що чемпіоном стає найвправніший. Вам слід знайти всіх таких лицарів, які могли б мати другу за величиною майстерність.

Вхідні дані

Перший рядок містить кількість тестів . Далі наведено самі тести.

Кожен тест містить одне натуральне число (n \le 2^{63}) — кількість учасників турніру.

Вихідні дані

Для кожного тесту виведіть у окремому рядку кількість можливих срібних медалістів, а також їхні номери у порядку зростання.

Приклади

Приклад 1

Loading
Loading