У Поликарпа есть два набора из одинаковых карточек, каждый набор содержит n·m карточек. С одной стороны каждой карточки написано 0, с другой написано 1.
Поликарп сделал из этих наборов две таблички a и b размером n строк на m столбцов. Часть карт лежат стороной с 1 вверх, остальные — с 0. Поликарп может проводить операции следующего вида над таблицей a: можно взять любую строку или столбец и перевернуть все карты в ней/нем на другую сторону: все 0 переворачиваются в 1, а 1 в 0. Назовем подобную операцию переворотом.
Необходимо узнать, существует ли такая последовательность переворотов, которая превращает таблицу a в таблицу b.
В первой строке даны два числа n и m, 1 ≤ n, m ≤ 1000.
Далее в следующих n строках находятся по m целых чисел aij,
— содержимое таблицы a, каждое число показывает, какой стороной вверх находится очередная карта. Числа разделены пробелами.
Следующие n строк описывают таблицу b в таком же формате, что и a.
Все числа в одной строке разделены пробелами между собой.
Если решения нет, выведите " - 1" (без кавычек).
Если решение есть, то в первой строке выведите количество операций. Оно не должно превышать n + m. В последующих строках выведите сами операции в таком формате: если необходимо перевернуть i-ую строку, выведите "0 i"; если j-ый столбец — "1 j". Кавычки выводить не нужно. Каждая операция должна быть в отдельной строке.
3 3
1 0 1
0 1 0
1 0 1
1 1 1
1 1 1
1 1 1
2
0 2
1 2
3 3
1 0 1
0 1 0
1 0 1
1 1 1
1 0 1
1 1 1
-1
| Название |
|---|


