E. Обменивай, чтобы переставлять
ограничение по времени на тест
5 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам даны $$$2$$$ массива, $$$a$$$ и $$$b$$$, оба длиной $$$n$$$. Вы можете выполнить следующую операцию:

  • Выберите индекс $$$i$$$ ($$$1 \le i \le n$$$) и поменяйте местами $$$a_i$$$ с $$$b_i$$$.

Вы можете выполнять операцию любое количество раз (возможно, ноль), но каждый индекс может быть выбран только один раз для операции. Ваша задача — сделать так, чтобы $$$a$$$ стало перестановкой $$$b$$$ после всех операций или заявить, что это невозможно. Вам не нужно минимизировать количество операций.

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

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

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

Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1,a_2,\ldots,a_n$$$ ($$$1 \leq a_i \leq n$$$).

Третья строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$b_1,b_2,\ldots,b_n$$$ ($$$1 \leq b_i \leq n$$$).

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^6$$$.

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

Для каждого набора входных данных выведите $$$-1$$$, если невозможно сделать так, чтобы $$$a$$$ стало перестановкой $$$b$$$. В противном случае выведите две строки в следующем формате:

  • В первой строке выведите количество операций $$$s$$$ ($$$0 \leq s \leq n$$$).
  • Во второй строке каждого набора входных данных выведите $$$s$$$ чисел — индексы, которые вы выбрали на каждой операции по порядку. Вы должны гарантировать, что каждый индекс будет выбран не более одного раза.

Если есть несколько возможных ответов, вы можете вывести любой.

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

2
3 4
Примечание

В первом наборе входных данных выполненные операции — обмен $$$a_2, b_2$$$ и обмен $$$a_4,b_4$$$, что даёт $$$a = [1,2,3,4]$$$ и $$$b = [2,1,4,3]$$$. Теперь возможно получить $$$a$$$ перестановкой элементов $$$b$$$.

Во втором наборе входных данных можно показать, что независимо от того, какие операции мы выполняем, мы не можем сделать так, чтобы $$$a$$$ стало перестановкой $$$b$$$.