D. Миша и XOR
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

После дня рождения у Миши осталось много больших чисел, разбросанных по всей комнате. Пришло время уборки, и Мише нужно сложить их в корзину. Это задание он поручил своему ручному роботу, который согласился выполнить его при определенных условиях. Перед тем, как робот положит очередное число x в корзину, Миша должен ответить на вопрос, можно ли выбрать из уже лежащих в корзине чисел одно или несколько, XOR-сумма которых будет равняться x.

В случае положительного ответа нужно также предъявить номера этих чисел. Если существует несколько вариантов выбора чисел, разрешается назвать любой. После ответа Миши робот кладет число в корзину.

Изначально корзина пуста. Каждому положенному в корзину числу присваивается очередной номер. Первое положенное в корзину число получает номер 0, второе число получает номер 1 и так далее.

Мише нужно срочно закончить уборку, но, к сожалению, у него плохо с арифметикой. Он просит вас ему помочь.

Входные данные

В первой строке находится число m (1 ≤ m ≤ 2000) — количество чисел, разбросанных по комнате.

В последующих m строках находятся сами числа, в том порядке, в котором робот кладет их в корзину. Каждое число — целое положительное, строго меньшее 10600 и не содержащее ведущих нулей.

Выходные данные

Для каждого числа либо выведите в очередной строке 0, если число нельзя представить в виде XOR-суммы чисел, уже находящихся в корзине, либо выведите k — количество чисел в представлении и номера этих чисел. Числа разделяйте пробелами. Каждый номер может присутствовать в разложении не более одного раза.

Примеры
Входные данные
7
7
6
5
4
3
2
1
Выходные данные
0
0
0
3 0 1 2
2 1 2
2 0 2
2 0 1
Входные данные
2
5
5
Выходные данные
0
1 0
Примечание

XOR-суммой чисел называется результат побитового сложения чисел по модулю 2.