T - Покриття#9047

T - Покриття

1 секунда
128 мегабайтів
Легка

Якщо ви коли-небудь грали в Тетріс, ви, напевно, знаєте, що одна з фігур виглядає так:

covering.PNG

Ми будемо називати цю фігуру Т-тетраміно. Тетраміно — це просто модне слово для зв'язної геометричної фігури, що складається з клітинок. Позначена клітинка буде називатися центральною клітинкою.

Манка малює прямокутну сітку з рядками і стовпцями і записує деяке число в кожну клітинку. Рядки таблиці пронумеровані від до m - 1, стовпці від до n - 1. Вона також позначає деякі клітинки як особливі — наприклад, фарбуючи їх у червоний колір. Після цього вона просить Ніку, свою подругу, розташувати кілька T-тетраміно на сітці так, щоб виконувалися наступні умови:

Screenshot from 2019-12-28 11-57-15.png

Якщо умови не можуть бути виконані, Ніка повинна відповісти No; якщо вони виконувані, вона повинна знайти таке розташування T-тетраміно, щоб максимізувати суму чисел у клітинках, покритих T-тетраміно. У цьому випадку вона повинна повідомити Манці максимальну суму покритих T-тетраміно клітинок. Напишіть програму, щоб допомогти Ніці вирішити цю задачу.

Вхідні дані

Перший рядок містить два цілих числа і — висоту і ширину таблиці. Наступні рядків містять по цілих чисел у діапазоні від до . -е ціле число в -му рядку відповідає числу, записаному в -й клітинці -го рядка сітки. Наступний рядок містить число (1 \leq k \leq m \cdot n) — кількість особливих клітинок у таблиці. Кожен з наступних рядків містить по два числа r_i і c_i, де r_i (0 \leq r_i \leq m-1) і c_i (0 \leq c_i \leq n-1) — номер рядка і стовпця -ої особливої клітинки, відповідно. Гарантовано, що всі координати особливих клітинок унікальні.

  • 1 \leq mn \leq 10^6

Вихідні дані

Виведіть максимально можливу суму чисел, покритих T-тетраміно клітинками, або No, якщо не існує способу розставити їх.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

Пояснення до першого прикладу:

Screenshot from 2019-12-28 11-55-50.png