ІнноДерево
У місті Іннополіс ростуть унікальні дерева. Якщо полити іннодерево (дерево з Іннополіса), воно виросте на стільки сантиметрів, скільки літрів води ви використаєте. Тобто, якщо іннодерево має висоту 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
.