G. Освещение
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В конце дня Анне нужно выключить свет в офисе. Есть $$$n$$$ ламп и $$$n$$$ выключателей, но схема их работы довольно странная. Выключатель $$$i$$$ меняет состояние лампы $$$i$$$, но также меняет состояние другой лампы $$$a_i$$$ (изменение состояния означает, что если лампа была включена, она выключается, и наоборот).

Помогите Анне выключить все лампы, используя минимальное количество выключателей, или скажите, что это невозможно.

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

Первая строка входных данных содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следуют описания наборов.

Первая строка каждого набора содержит целое число $$$n$$$ ($$$2 \le n \le 10^5$$$) — количество ламп.

Вторая строка каждого набора содержит строку из $$$n$$$ символов — начальное состояние ламп. Символ «0» означает, что соответствующая лампа выключена, а «1» означает, что она включена.

Третья строка каждого набора содержит $$$n$$$ целых чисел $$$a_i$$$ ($$$1 \le a_i \le n$$$, $$$a_i \neq i$$$) — выключатель $$$i$$$ меняет состояние лампы $$$i$$$ и лампы $$$a_i$$$.

Гарантируется, что сумма $$$n$$$ по всем наборам не превышает $$$2 \cdot 10^5$$$

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

Для каждого набора входных данных выведите целое число $$$k$$$ — минимальное количество выключателей, которое нужно использовать, затем в отдельной строке выведите список из $$$k$$$ выключателей.

Если невозможно выключить все лампы, выведите одно целое число $$$-1$$$.

Пример
Входные данные
8
5
11101
4 3 4 2 2
2
10
2 1
10
0000000011
9 10 10 7 10 9 9 9 10 2
10
1000111101
9 3 8 9 2 1 3 7 2 7
10
0001101010
5 7 6 10 8 3 6 6 2 2
10
0101100010
8 7 7 9 9 4 1 4 2 7
10
1010111010
7 9 10 7 7 2 8 6 10 4
10
1110000001
3 10 10 1 10 8 6 3 2 1
Выходные данные
3
1 5 3 
-1
1
9 
5
5 6 10 2 3 
6
4 9 5 10 8 7 
3
5 4 9 
6
1 3 5 9 7 8 
2
2 1