Олимпиадный тренинг

Задача . G. Подмножество с суммой ноль


Вам даны \(n\) целых чисел \(a_1, a_2, \dots, a_n\), причем для каждого \(1\le i \le n\) выполняется \(i-n\le a_i\le i-1\).

Найдите какое-то непустое подмножество этих чисел, сумма которых равна \(0\). Можно показать, что при данных ограничениях такое подмножество существует. Если существуют несколько подмножеств с суммой ноль, вы можете вывести любое из них.

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

Во входных данных находятся несколько (не меньше одного) тестовых случаев. В первой строке находится одно целое число \(t\) (\(1 \le t \le 10^6\)) — количество тестовых случаев. Далее следуют описания тестовых случаев.

Первая строка описания тестового случая содержит единственное целое число \(n\) (\(1\le n \le 10^6\)).

Вторая строка описания тестового случая содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(i-n \le a_i \le i-1\)).

Гарантируется, что сумма значений \(n\) по всем тестовым случаям не превосходит \(10^6\).

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

Для каждого теста, выведите две строки.

В первой строке выведите \(s\) (\(1\le s \le n\)) — количество элементов в вашем подмножестве.

В второй строке выведите \(s\) чисел \(i_1, i_2, \dots, i_s\) (\(1\le i_k \le n\)). Все числа должны быть попарно различными, а сумма \(a_{i_1} + a_{i_2} + \dots + a_{i_s}\) должна быть равна \(0\). Если существуют несколько подмножеств с суммой ноль, вы можете вывести любое из них.

Примечание

В первом примере, сумма равна \(a_1 = 0\).

Во втором примере, сумма равна \(a_1 + a_4 + a_3 + a_2 = 0\).


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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя