Замаскований табір#3015

Замаскований табір

10 секунд
16 мегабайтів
Дуже складна

Командир загону шукає місце для будівництва замаскованого табору певного розміру. У нього є цифрова топографічна карта місцевості, яка являє собою прямокутну сітку, де кожен елемент позначає висоту на певних координатах. Координати будь-якої точки на карті визначаються рядком і стовпцем у таблиці.

Місце для табору має бути прямокутником, повністю розташованим у межах карти, і відповідати певним характеристикам. Кожна характеристика складається з двох однакових суміжних прямокутних областей і вимоги до їх висот. Кожна характеристика визначається:

Місце для табору задовольняє характеристиці, якщо вимога щодо висоти виконується.

Напишіть програму, яка за заданою топографічною картою та характеристиками знаходить найкраще місце (тобто таке, що задовольняє найбільшій кількості характеристик) для розміщення замаскованого табору. Якщо розв'язків декілька, виведіть будь-яке з них.

Вхідні дані

Перший рядок містить два цілі числа і (2 \leq R, C \leq 1000) — кількість рядків і стовпців топографічної карти. Далі йдуть рядків, кожен з яких містить по невід’ємних цілих чисел, що описують топографічну карту. Висота на будь-яких координатах не перевищує .

Наступний рядок містить два цілі числа (кількість рядків) й (кількість стовпців) (1 \leq L, W \leq 1000; L \leq R; W \leq C), що визначають розмір табору.

Наступний рядок містить одне ціле число (1 \leq H \leq 1000) — кількість характеристик.

Кожний із наступних рядків описує характеристику. Кожний рядок містить цілих чисел: координати лівого верхнього кута характеристики, розміри першої прямокутної області, прапорці розміщення та висот. Усі характеристики повністю вміщуються у межах табору.

Вихідні дані

Перший рядок вихідних даних повинен містити два цілі числа — координати лівого верхнього кута знайденого місця табору.

Приклади

Приклад 1

Loading
Loading