ИнноДерево
В Иннополисе удивительные деревья. Если полить иннодерево (иннополисовское дерево), оно вырастет ровно на столько, сколько литров воды было использовано для полива. Другими словами, если вы возьмете иннодерево высотой h и польете его x литрами воды, тогда его высота станет равна h + x.
Иннолес (иннополисовский лес) представляет собой сетку n * m, каждая ячейка которой содержит одно иннодерево. Ирригационная система в иннолесу содержит n + m каналов: по одному для каждой строки и столбца. Ирригационная система за одну операцию может полить все деревья вдоль одного из каналов одним и тем же количеством воды.
Мэр Иннополиса хочет преобразовать иннолес, выполняя некоторые операции с ирригационной системой. Для каждого дерева в иннолесу вы знаете его текущую высоту и желаемую высоту. Ваша задача - найти последовательность операций, которая преобразует иннолес в желаемое состояние.
Входные данные
Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 1000) - размеры иннолеса.
Затем следуют n строк, каждая из которых содержит m целых чисел a[i,j]
(1 ≤ a[i,j]
≤ 10^9
) - текущие высоты деревьев в иннолесу.
Затем следуют другие n строк, каждая из которых содержит m целых чисел b[i,j]
(1 ≤ b[i,j]
≤ 10^9
) - желаемые высоты деревьев.
Выходные данные
Первая строка должна содержать число операций k (0 ≤ k ≤ 10^6
), следующие k строк содержатописание операций.
"R r x" Полить r-ю строку x литрами воды (1 ≤ r ≤ n, 1 ≤ x ≤
10^9
)."C c x" Полить c-й столбец x литрами воды (1 ≤ c ≤ m, 1 ≤ x ≤
10^9
).
Если невозможно привести иннолес в желаемое состояние, выведите -1.
Обратите внимание, что в задаче не требуется минимизировать число операций, но оно не должно превосходить 10^6
.