F. Ещё одна бинарная матрица
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В этой задаче мы будем работать с матрицами над полем остатков по модулю 2. У Гарри как раз есть такая матрица размера n × n.

Пусть R задаёт некоторое подмножество строк матрицы, а C задаёт подмножество её столбцов. Тогда W(P, Q) будет означать матрицу размера |P| × |Q|, у которой на j-й позиции i-й строки стоит элемент, расположенный в основной матрице в строке P[i] и столбце Q[j]. Запись S[i] в данном случае означает i-й по величине элемент множества S.

У Гарри уже выбрано множество строк A и множество столбцов B. Он хочет выбрать множество столбцов X так, чтобы выполнялись следующие условия:

  1. X и B не пересекаются.
  2. Строки матрицы W(A, B + X) являются линейно независимыми.
  3. Строки матрицы W(R - A, C - B - X) являются линейно независимыми.

Если решения не существует, то выведите -1. В противном случае выведите любое подходящее множество X.

Множество строк матрицы над полем остатков по модулю 2 называется линейно независимым если и только если не существует какого-нибудь непустого подмножества строк, такого что сумма всех строк в этом подмножестве равна нулевой строке. Разумеется, речь идёт о сумме по модулю два, часто называемому исключающим ИЛИ (XOR).

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

В первой строке записаны целые числа n, a и b (0 ≤ a, b ≤ n, 1 ≤ n ≤ 50).

В следующей строке записаны a различных целых чисел, означающих индексы строк A1, A2, ..., Aa (1 ≤ Ai ≤ n). Если a = 0, то данная строка будет оставлена пустой.

Следующая строка содержит b различных целых чисел B1, B2, ..., Bb (1 ≤ Bi ≤ n). Если b = 0, то данная строка будет оставлена пустой.

В каждой из последующих n строк записана бинарная строка длины n, определяющая соответствующую строку матрицы.

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

Если решения не существует, то выведите -1. В противном случае сначала выведите целое число x, равное размеру вашего подмножества X (0 ≤ x ≤ n). В следующей строке выведите x целых чисел X1, X2, ..., Xx (1 ≤ Xi ≤ n). Все числа должны быть различны и никакое из них не должно встречаться в множестве B.

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

001
010
101
Выходные данные
1
2
Входные данные
2 1 0
1

11
10
Выходные данные
1
2
Входные данные
2 0 0


11
11
Выходные данные
-1
Входные данные
6 4 1
1 4 2 3
2
101010
010101
110000
001100
000001
100000
Выходные данные
3
3 4 5